@powerhousedao/connect 5.1.0-dev.9 → 5.1.0-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AddDriveModal-sL0hSfwK.js → AddDriveModal-CGnuKCkz.js} +1 -1
- package/dist/assets/ClearStorageModal-tHn6sdVv.js +1 -0
- package/dist/assets/{CookiesPolicyModal-8Ea1bpuS.js → CookiesPolicyModal-D5y1O9wD.js} +1 -1
- package/dist/assets/CreateDocumentModal-DU4C2Y6P.js +1 -0
- package/dist/assets/{DebugSettingsModal-BN0vka2j.js → DebugSettingsModal-BLV4d9N1.js} +1 -1
- package/dist/assets/{DeleteDriveModal-BkMiD-at.js → DeleteDriveModal-CQq-0aWd.js} +1 -1
- package/dist/assets/DeleteItemModal-JV0AvuwF.js +1 -0
- package/dist/assets/DisclaimerModal-DQZyl_zf.js +1 -0
- package/dist/assets/DriveSettingsModal-yXsOiCLy.js +1 -0
- package/dist/assets/{ExportDocumentWithErrorsModal--MRX9RA5.js → ExportDocumentWithErrorsModal-CPfizBgB.js} +1 -1
- package/dist/assets/SettingsModal-GeNqOEFN.js +1 -0
- package/dist/assets/{UpgradeDriveModal-RsikHBVp.js → UpgradeDriveModal-BCRmp5F4.js} +1 -1
- package/dist/assets/{design_system-BtrDHANm.js → design_system-pnKFY6jM.js} +1 -1
- package/dist/assets/design_system_connect-BrlN-7x3.js +104 -0
- package/dist/assets/{design_system_ui-CXZVaXzt.js → design_system_ui-Cz-kMJRJ.js} +1 -1
- package/dist/assets/{document_drive-N2jFG7-p.js → document_drive-CVkeqJ3l.js} +1 -1
- package/dist/assets/{document_engineering-CZ8g9riq.js → document_engineering-BAszqzBd.js} +1 -1
- package/dist/assets/{document_model_editor-C2QDzIWG.js → document_model_editor-D5oPro82.js} +4 -4
- package/dist/assets/{drive_explorer-DHMI_z5h.js → drive_explorer-C6clT2Df.js} +2 -2
- package/dist/assets/{graphql-editor-B_sLuXTF.js → graphql-editor-C6f63OmN.js} +1 -1
- package/dist/assets/{hooks-CrcQ2Zxj.js → hooks-BySGfjQp.js} +1 -1
- package/dist/assets/index-BYfBva47.js +20 -0
- package/dist/assets/index-XUlAOLkX.css +1 -0
- package/dist/assets/{json-editor-xWjFAcl1.js → json-editor-D27WLv4C.js} +1 -1
- package/dist/assets/nodefs-AYr2EwM_.js +1 -0
- package/dist/assets/opfs-ahp-rEGVoJkP.js +3 -0
- package/dist/assets/reactor_browser-D4maXKS-.js +25 -0
- package/dist/assets/state-schemas-DGMOULa-.js +2 -0
- package/dist/index.html +9 -9
- package/lib/package.copy.json +1 -1
- package/lib/src/feature-flags.d.ts +17 -3
- package/lib/src/feature-flags.d.ts.map +1 -1
- package/lib/src/feature-flags.js +32 -3
- package/lib/src/feature-flags.js.map +1 -1
- package/lib/src/store/reactor.d.ts.map +1 -1
- package/lib/src/store/reactor.js +5 -5
- package/lib/src/store/reactor.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/nginx.conf +7 -0
- package/package.copy.json +1 -1
- package/package.json +10 -10
- package/dist/assets/ClearStorageModal-taO2ME0w.js +0 -1
- package/dist/assets/CreateDocumentModal-CSVg8ZHf.js +0 -1
- package/dist/assets/DeleteItemModal-DYfBVcdK.js +0 -1
- package/dist/assets/DisclaimerModal-orJjo4Cr.js +0 -1
- package/dist/assets/DriveSettingsModal-DghD5DLg.js +0 -1
- package/dist/assets/SettingsModal-DyKVA0Ca.js +0 -1
- package/dist/assets/design_system_connect-CDNGzuLc.js +0 -45
- package/dist/assets/index-Br7E7qjt.css +0 -1
- package/dist/assets/index-DCLcMalw.js +0 -78
- package/dist/assets/nodefs-DTI9wPNC.js +0 -1
- package/dist/assets/opfs-ahp-gTaseGJ8.js +0 -3
- package/dist/assets/reactor_browser-h6aSTneX.js +0 -25
- package/dist/assets/state-schemas-DRj4Gqo5.js +0 -2
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sentry_react-cODD7zWc.js","assets/react-DQSxOgtG.js","assets/sentry_browser-B4YoBIIG.js","assets/reactor_browser-h6aSTneX.js","assets/document_drive-N2jFG7-p.js","assets/document_model-LXEZCDPq.js","assets/zod-C6yxFxyo.js","assets/graphql-BS4Brs_E.js","assets/config-CU-aFfVJ.js","assets/document_model_editor-C2QDzIWG.js","assets/drive_explorer-DHMI_z5h.js","assets/react/jsx-runtime-DldvXD6N.js","assets/design_system-BtrDHANm.js","assets/tailwind_merge-Dr4f9Rms.js","assets/react-dom-D6zQJsh6.js","assets/design_system_connect-CDNGzuLc.js","assets/design_system_ui-CXZVaXzt.js","assets/react-dom/client-BVPiT_FE.js","assets/nodefs-DTI9wPNC.js","assets/graphql_request-9RNJ00DB.js","assets/opfs-ahp-gTaseGJ8.js","assets/AddDriveModal-sL0hSfwK.js","assets/ClearStorageModal-taO2ME0w.js","assets/CookiesPolicyModal-8Ea1bpuS.js","assets/CreateDocumentModal-CSVg8ZHf.js","assets/DebugSettingsModal-BN0vka2j.js","assets/DeleteDriveModal-BkMiD-at.js","assets/DeleteItemModal-DYfBVcdK.js","assets/DisclaimerModal-orJjo4Cr.js","assets/DriveSettingsModal-DghD5DLg.js","assets/ExportDocumentWithErrorsModal--MRX9RA5.js","assets/SettingsModal-DyKVA0Ca.js","assets/UpgradeDriveModal-RsikHBVp.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{j as jsxRuntimeExports,g as ReactDOM,E as Editor$1}from"./document_model_editor-C2QDzIWG.js";import{d as clientExports}from"./design_system_ui-CXZVaXzt.js";import{r as reactExports,R as React,a as React$1}from"./sentry_react-cODD7zWc.js";import{o as objectType,a as unionType,s as stringType,e as enumType,n as numberType,f as booleanType}from"./zod-C6yxFxyo.js";import{q as setLogLevel,l as logger$2,t as childLogger,A as AbortError,M as MemoryStorage,R as ReactorBuilder$1,B as BrowserStorage,I as InMemoryCache,E as EventQueueManager,v as driveDocumentModelModule,w as ProcessorManager}from"./document_drive-N2jFG7-p.js";import{_ as __vitePreload,G as GenericDriveExplorer}from"./drive_explorer-DHMI_z5h.js";import{t as toast$1,c as ConnectSidebar,H as HomeScreen,A as AnimatedLoader,W as WagmiContext,d as ToastContainer,e as CookieBanner$1,f as DefaultEditorLoader,g as DropZoneWrapper,h as RevisionHistory,i as useVirtualizer,F as FileItem,j as useDrop,k as FolderItem,B as Breadcrumbs,l as HomeScreenAddDriveItem,m as HomeScreenItem,S as SidebarItem,n as SidebarAddDriveItem}from"./design_system_connect-CDNGzuLc.js";import{x as convertLegacyLibToVetraPackage,y as setVetraPackages,z as sql,M as Migrator,K as Kysely,P as PGliteDialect,w as showPHModal,A as useSelectedDrive,i as useSelectedDocument,j as useNodeParentFolderById,B as getDriveIsRemote,C as getDriveRemoteUrl,D as useConnectCrypto,E as useUser,F as buildDocumentSubgraphUrl,f as setSelectedNode,G as validateDocument,H as exportFile,I as useDriveEditorModuleById,J as useDefaultDriveEditorModule,L as getDriveSharingType,N as useSelectedTimelineItem,O as useRevisionHistoryVisible,h as useDocumentById,Q as useDocumentModelModuleById,R as useEditorModuleById,S as useFallbackEditorModule,T as setRevisionHistoryVisible,U as getRevisionFromDate,V as usePHModal,b as useUserPermissions,W as useDocumentModelModules,X as showCreateDocumentModal,Y as useNodesInSelectedDriveOrFolder,Z as isFileNodeKind,_ as useSelectedFolder,$ as isFolderNodeKind,a0 as useSetPHDriveEditorConfig,a1 as DEFAULT_DRIVE_EDITOR_ID,a2 as COMMON_PACKAGE_ID,a3 as addPHEventHandlers,a4 as initConnectCrypto,a5 as initRenown,a6 as getReactorDefaultDrivesConfig$1,a7 as initLegacyReactor,a8 as initDocumentCache,a9 as getDrives,aa as extractDriveSlugFromPath,ab as extractNodeSlugFromPath,ac as login,ad as setDefaultPHGlobalConfig,ae as setLegacyReactor,af as setReactorClient,ag as setSync,ah as setDocumentCache,ai as setConnectCrypto,aj as setDid,ak as setRenown,al as setProcessorManager,am as setDrives,s as setSelectedDrive,an as refreshReactorData,c as useSelectedDriveSafe,ao as setPHDocumentEditorConfig,ap as setPHDriveEditorConfig,aq as useDrives,ar as useLegacyReactor,as as addRemoteDrive,at as logout,au as openRenown}from"./reactor_browser-h6aSTneX.js";import{I as Icon,l as PowerhouseButton,Q as useWindowSize,c as cn$1}from"./design_system-BtrDHANm.js";import{a5 as actions,k as createPresignedHeader,h as defaultBaseState,a4 as undo,a3 as redo,a6 as documentModelDocumentModelModule,j as createState,g as generateId}from"./document_model-LXEZCDPq.js";import{g as gql,r as request}from"./graphql_request-9RNJ00DB.js";import{g as getDefaultExportFromCjs,r as requireReact,p as process$1}from"./react-DQSxOgtG.js";import{t as twMerge}from"./tailwind_merge-Dr4f9Rms.js";import{an as setUser}from"./sentry_browser-B4YoBIIG.js";import"./graphql-BS4Brs_E.js";import"./react/jsx-runtime-DldvXD6N.js";import"./react-dom-D6zQJsh6.js";import"./react-dom/client-BVPiT_FE.js";import"./config-CU-aFfVJ.js";(function(){const B=document.createElement("link").relList;if(B&&B.supports&&B.supports("modulepreload"))return;for(const ir of document.querySelectorAll('link[rel="modulepreload"]'))rr(ir);new MutationObserver(ir=>{for(const lr of ir)if(lr.type==="childList")for(const dr of lr.addedNodes)dr.tagName==="LINK"&&dr.rel==="modulepreload"&&rr(dr)}).observe(document,{childList:!0,subtree:!0});function tr(ir){const lr={};return ir.integrity&&(lr.integrity=ir.integrity),ir.referrerPolicy&&(lr.referrerPolicy=ir.referrerPolicy),ir.crossOrigin==="use-credentials"?lr.credentials="include":ir.crossOrigin==="anonymous"?lr.credentials="omit":lr.credentials="same-origin",lr}function rr(ir){if(ir.ep)return;ir.ep=!0;const lr=tr(ir);fetch(ir.href,lr)}})();const booleanString=unionType([booleanType(),enumType(["true","false"])]).transform(I=>typeof I=="boolean"?I:I==="true"),numberString=unionType([numberType(),stringType()]).transform(I=>typeof I=="number"?I:parseInt(I,10)),buildEnvSchema=objectType({PH_CONFIG_PATH:stringType().optional(),PH_PACKAGES:stringType().optional(),PH_LOCAL_PACKAGE:stringType().optional(),PH_DISABLE_LOCAL_PACKAGE:booleanString.default(!1),PH_WATCH_TIMEOUT:numberString.default(300),PH_SENTRY_AUTH_TOKEN:stringType().optional(),PH_SENTRY_ORG:stringType().optional(),PH_SENTRY_PROJECT:stringType().optional()}),appConfigSchema=objectType({PH_CONNECT_VERSION:stringType().default("unknown"),PH_CONNECT_LOG_LEVEL:enumType(["debug","info","warn","error"]).default("info"),PH_CONNECT_REQUIRES_HARD_REFRESH:booleanString.default(!0),PH_CONNECT_WARN_OUTDATED_APP:booleanString.default(!1),PH_CONNECT_STUDIO_MODE:booleanString.default(!1),PH_CONNECT_BASE_PATH:stringType().optional(),PH_CONNECT_DEFAULT_DRIVES_URL:stringType().optional(),PH_CONNECT_DRIVES_PRESERVE_STRATEGY:stringType().optional(),PH_CONNECT_VERSION_CHECK_INTERVAL:numberString.default(3600*1e3),PH_CONNECT_CLI_VERSION:stringType().optional(),PH_CONNECT_FILE_UPLOAD_OPERATIONS_CHUNK_SIZE:numberString.default(50)}),featureFlagsSchema=objectType({PH_CONNECT_DISABLE_ADD_DRIVE:booleanString.default(!1),PH_CONNECT_SEARCH_BAR_ENABLED:booleanString.default(!1),PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS:booleanString.default(!0),PH_CONNECT_ENABLED_EDITORS:stringType().optional(),PH_CONNECT_DISABLED_EDITORS:stringType().default("powerhouse/document-drive"),PH_CONNECT_GA_TRACKING_ID:stringType().optional(),PH_CONNECT_EXTERNAL_PACKAGES_DISABLED:booleanString.default(!1)}),drivesConfigSchema=objectType({PH_CONNECT_PUBLIC_DRIVES_ENABLED:booleanString.default(!0),PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES:booleanString.default(!1),PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES:booleanString.default(!1),PH_CONNECT_CLOUD_DRIVES_ENABLED:booleanString.default(!0),PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES:booleanString.default(!1),PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES:booleanString.default(!1),PH_CONNECT_LOCAL_DRIVES_ENABLED:booleanString.default(!0),PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES:booleanString.default(!1),PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES:booleanString.default(!1)}),analyticsProcessorsConfigSchema=objectType({PH_CONNECT_ANALYTICS_ENABLED:booleanString.default(!0),PH_CONNECT_ANALYTICS_DATABASE_NAME:stringType().optional(),PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED:booleanString.default(!0),PH_CONNECT_DIFF_ANALYTICS_ENABLED:booleanString.default(!1),PH_CONNECT_DRIVE_ANALYTICS_ENABLED:booleanString.default(!0),PH_CONNECT_EXTERNAL_ANALYTICS_PROCESSORS_ENABLED:booleanString.default(!0)}),relationalProcessorsConfigSchema=objectType({PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED:booleanString.default(!0),PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED:booleanString.default(!0)}),processorsBaseConfigSchema=objectType({PH_CONNECT_PROCESSORS_ENABLED:booleanString.default(!0),PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED:booleanString.default(!0)}),processorsConfigSchema=processorsBaseConfigSchema.merge(analyticsProcessorsConfigSchema).merge(relationalProcessorsConfigSchema),sentryConfigSchema=objectType({PH_CONNECT_SENTRY_RELEASE:stringType().optional(),PH_CONNECT_SENTRY_DSN:stringType().optional(),PH_CONNECT_SENTRY_ENV:stringType().default("dev"),PH_CONNECT_SENTRY_TRACING_ENABLED:booleanString.default(!1)}),renownConfigSchema=objectType({PH_CONNECT_RENOWN_URL:stringType().default("https://www.renown.id"),PH_CONNECT_RENOWN_NETWORK_ID:stringType().default("eip155"),PH_CONNECT_RENOWN_CHAIN_ID:numberString.default(1)}),runtimeEnvSchema=appConfigSchema.merge(featureFlagsSchema).merge(drivesConfigSchema).merge(processorsConfigSchema).merge(sentryConfigSchema).merge(renownConfigSchema);buildEnvSchema.merge(runtimeEnvSchema);function mergeEnvSources(I,B,tr){const{processEnv:rr={},optionsEnv:ir={},fileEnv:lr={}}=I,dr={};for(const mr of B){const _r=[{name:"process.env",value:rr[mr]},{name:"options",value:ir[mr]},{name:"fileEnv",value:lr[mr]}];for(const hr of _r){const fr=hr.value;if(!(fr===void 0||fr===""))try{const gr=tr.shape[mr];if(gr){gr.parse(fr),dr[mr]=fr;break}console.warn(`Unknown environment variable: '${mr}'`),dr[mr]=fr;break}catch{const gr=fr===null?"null":typeof fr=="object"?JSON.stringify(fr):fr;console.warn(`Invalid value for ${mr} from ${hr.name}: ${gr}. Trying next source.`)}}}return dr}function loadRuntimeEnv(I={}){const B=new Set(Object.keys(runtimeEnvSchema.shape)),tr=mergeEnvSources(I,B,runtimeEnvSchema);return runtimeEnvSchema.parse(tr)}function normalizeBasePath(I){let B=I;return B.startsWith(".")&&(B=B.slice(1)),B.startsWith("/")||(B=`/${B}`),B.endsWith("/")||(B=`${B}/`),B}const __vite_import_meta_env__={BASE_URL:"/",DEV:!1,MODE:"production",PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED:"true",PH_CONNECT_ANALYTICS_ENABLED:"true",PH_CONNECT_CLOUD_DRIVES_ENABLED:"true",PH_CONNECT_DIFF_ANALYTICS_ENABLED:"false",PH_CONNECT_DISABLED_EDITORS:"powerhouse/document-drive",PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES:"false",PH_CONNECT_DISABLE_ADD_DRIVE:"false",PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES:"false",PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES:"false",PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES:"false",PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES:"false",PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES:"false",PH_CONNECT_DRIVE_ANALYTICS_ENABLED:"true",PH_CONNECT_EXTERNAL_ANALYTICS_PROCESSORS_ENABLED:"true",PH_CONNECT_EXTERNAL_PACKAGES_DISABLED:"false",PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED:"true",PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED:"true",PH_CONNECT_FILE_UPLOAD_OPERATIONS_CHUNK_SIZE:"50",PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS:"true",PH_CONNECT_LOCAL_DRIVES_ENABLED:"true",PH_CONNECT_LOG_LEVEL:"info",PH_CONNECT_PROCESSORS_ENABLED:"true",PH_CONNECT_PUBLIC_DRIVES_ENABLED:"true",PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED:"true",PH_CONNECT_RENOWN_CHAIN_ID:"1",PH_CONNECT_RENOWN_NETWORK_ID:"eip155",PH_CONNECT_RENOWN_URL:"https://auth.renown.id",PH_CONNECT_REQUIRES_HARD_REFRESH:"true",PH_CONNECT_SEARCH_BAR_ENABLED:"false",PH_CONNECT_SENTRY_ENV:"prod",PH_CONNECT_SENTRY_TRACING_ENABLED:"false",PH_CONNECT_STUDIO_MODE:"false",PH_CONNECT_VERSION:"5.1.0-dev.8",PH_CONNECT_VERSION_CHECK_INTERVAL:"3600000",PH_CONNECT_WARN_OUTDATED_APP:"false",PROD:!0,SSR:!1},env=loadRuntimeEnv({processEnv:__vite_import_meta_env__});function getRouterBasenameFromBasePath(I){return I.endsWith("/")?I:I+"/"}function getPHGlobalConfigFromEnv(){const I=env.PH_CONNECT_BASE_PATH||"/",B=getRouterBasenameFromBasePath(I);return{basePath:I,routerBasename:B,allowList:void 0,allowedDocumentTypes:[],isDragAndDropEnabled:!0,isEditorDebugModeEnabled:!1,isEditorReadModeEnabled:!1,isExternalControlsEnabled:!1,version:env.PH_CONNECT_VERSION,logLevel:env.PH_CONNECT_LOG_LEVEL,requiresHardRefresh:env.PH_CONNECT_REQUIRES_HARD_REFRESH,warnOutdatedApp:env.PH_CONNECT_WARN_OUTDATED_APP,studioMode:env.PH_CONNECT_STUDIO_MODE,versionCheckInterval:env.PH_CONNECT_VERSION_CHECK_INTERVAL,cliVersion:env.PH_CONNECT_CLI_VERSION,fileUploadOperationsChunkSize:env.PH_CONNECT_FILE_UPLOAD_OPERATIONS_CHUNK_SIZE,gaTrackingId:env.PH_CONNECT_GA_TRACKING_ID,defaultDrivesUrl:env.PH_CONNECT_DEFAULT_DRIVES_URL,drivesPreserveStrategy:env.PH_CONNECT_DRIVES_PRESERVE_STRATEGY,enabledEditors:env.PH_CONNECT_ENABLED_EDITORS?.split(","),disabledEditors:env.PH_CONNECT_DISABLED_EDITORS.split(","),isExternalProcessorsEnabled:env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,isAnalyticsEnabled:env.PH_CONNECT_ANALYTICS_ENABLED,isAnalyticsExternalProcessorsEnabled:env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED&&env.PH_CONNECT_EXTERNAL_ANALYTICS_PROCESSORS_ENABLED,analyticsDatabaseName:env.PH_CONNECT_ANALYTICS_DATABASE_NAME,isRelationalProcessorsEnabled:env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,isExternalRelationalProcessorsEnabled:env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED&&env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED,renownUrl:env.PH_CONNECT_RENOWN_URL,renownNetworkId:env.PH_CONNECT_RENOWN_NETWORK_ID,renownChainId:env.PH_CONNECT_RENOWN_CHAIN_ID,sentryRelease:env.PH_CONNECT_SENTRY_RELEASE,sentryDsn:env.PH_CONNECT_SENTRY_DSN,sentryEnv:env.PH_CONNECT_SENTRY_ENV,isDiffAnalyticsEnabled:env.PH_CONNECT_DIFF_ANALYTICS_ENABLED,isDriveAnalyticsEnabled:env.PH_CONNECT_DRIVE_ANALYTICS_ENABLED,isPublicDrivesEnabled:env.PH_CONNECT_PUBLIC_DRIVES_ENABLED,isCloudDrivesEnabled:env.PH_CONNECT_CLOUD_DRIVES_ENABLED,isLocalDrivesEnabled:env.PH_CONNECT_LOCAL_DRIVES_ENABLED,isSentryTracingEnabled:env.PH_CONNECT_SENTRY_TRACING_ENABLED,isDocumentModelSelectionSettingsEnabled:!env.PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS,isAddDriveEnabled:!env.PH_CONNECT_DISABLE_ADD_DRIVE,isAddPublicDrivesEnabled:!env.PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES,isDeletePublicDrivesEnabled:!env.PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES,isAddCloudDrivesEnabled:!env.PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES,isDeleteCloudDrivesEnabled:!env.PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES,isAddLocalDrivesEnabled:!env.PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES,isDeleteLocalDrivesEnabled:!env.PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES,isAnalyticsDatabaseWorkerEnabled:!env.PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED,isExternalPackagesEnabled:!env.PH_CONNECT_EXTERNAL_PACKAGES_DISABLED}}const phGlobalConfigFromEnv=getPHGlobalConfigFromEnv(),defaultPHDocumentEditorConfig={isExternalControlsEnabled:phGlobalConfigFromEnv.isExternalControlsEnabled},defaultPHDriveEditorConfig={allowedDocumentTypes:phGlobalConfigFromEnv.allowedDocumentTypes,isDragAndDropEnabled:phGlobalConfigFromEnv.isDragAndDropEnabled};setLogLevel(env.PH_CONNECT_LOG_LEVEL);logger$2.debug(`Setting log level to ${env.PH_CONNECT_LOG_LEVEL}.`);const PH_CONNECT_BASE_PATH=normalizeBasePath(env.PH_CONNECT_BASE_PATH||"/"),PH_CONNECT_ANALYTICS_DATABASE_NAME=env.PH_CONNECT_ANALYTICS_DATABASE_NAME||`${PH_CONNECT_BASE_PATH.replace(/\//g,"")}:analytics`,connectConfig={appVersion:env.PH_CONNECT_VERSION,studioMode:env.PH_CONNECT_STUDIO_MODE,warnOutdatedApp:env.PH_CONNECT_WARN_OUTDATED_APP,appVersionCheckInterval:env.PH_CONNECT_VERSION_CHECK_INTERVAL,routerBasename:PH_CONNECT_BASE_PATH,externalPackagesEnabled:!env.PH_CONNECT_EXTERNAL_PACKAGES_DISABLED,processors:{enabled:env.PH_CONNECT_PROCESSORS_ENABLED,externalProcessorsEnabled:env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED},analytics:{enabled:env.PH_CONNECT_ANALYTICS_ENABLED,databaseName:PH_CONNECT_ANALYTICS_DATABASE_NAME,useWorker:!env.PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED,driveAnalyticsEnabled:env.PH_CONNECT_DRIVE_ANALYTICS_ENABLED,diffProcessorEnabled:env.PH_CONNECT_DIFF_ANALYTICS_ENABLED,externalProcessorsEnabled:env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED},relational:{enabled:env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,externalProcessorsEnabled:env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED},renown:{url:env.PH_CONNECT_RENOWN_URL,networkId:env.PH_CONNECT_RENOWN_NETWORK_ID,chainId:env.PH_CONNECT_RENOWN_CHAIN_ID},sentry:{release:env.PH_CONNECT_SENTRY_RELEASE,dsn:env.PH_CONNECT_SENTRY_DSN,env:env.PH_CONNECT_SENTRY_ENV,tracing:env.PH_CONNECT_SENTRY_TRACING_ENABLED},content:{showSearchBar:env.PH_CONNECT_SEARCH_BAR_ENABLED,showDocumentModelSelectionSetting:!env.PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS},drives:{addDriveEnabled:!env.PH_CONNECT_DISABLE_ADD_DRIVE,preserveStrategy:env.PH_CONNECT_DRIVES_PRESERVE_STRATEGY,sections:{LOCAL:{enabled:env.PH_CONNECT_LOCAL_DRIVES_ENABLED,allowAdd:!env.PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES,allowDelete:!env.PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES},CLOUD:{enabled:env.PH_CONNECT_CLOUD_DRIVES_ENABLED,allowAdd:!env.PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES,allowDelete:!env.PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES},PUBLIC:{enabled:env.PH_CONNECT_PUBLIC_DRIVES_ENABLED,allowAdd:!env.PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES,allowDelete:!env.PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES}}},gaTrackingId:env.PH_CONNECT_GA_TRACKING_ID,phCliVersion:env.PH_CONNECT_CLI_VERSION},namespace$1=connectConfig.routerBasename,ACCEPTED_COOKIES_KEY_STORAGE=`${namespace$1}:acceptedCookies`,listeners$1=new Set;let cookies=getInitial$1();function getInitial$1(){try{const I=localStorage.getItem(ACCEPTED_COOKIES_KEY_STORAGE);return I?JSON.parse(I):{analytics:!1,marketing:!1,functional:!1}}catch{return{analytics:!1,marketing:!1,functional:!1}}}function getCookies(){return cookies}function setCookies(I){cookies=I(cookies),localStorage.setItem(ACCEPTED_COOKIES_KEY_STORAGE,JSON.stringify(cookies)),listeners$1.forEach(B=>B())}function subscribe$1(I){return listeners$1.add(I),()=>listeners$1.delete(I)}const useAcceptedCookies=()=>[reactExports.useSyncExternalStore(subscribe$1,getCookies,getCookies),setCookies];async function getHMRModule(){try{return(await __vitePreload(()=>import("./hmr-LMNkvzP7.js"),[])).hmr}catch{return}}async function addExternalPackage(I){const B=await getHMRModule();if(!B)throw new Error("HMR not available.");return new Promise(tr=>{function rr(ir){I===ir.name&&(tr(),B?.off("studio:external-package-added",rr))}B.on("studio:external-package-added",rr),B.send("studio:add-external-package",{name:I})})}async function removeExternalPackage(I){const B=await getHMRModule();if(!B)throw new Error("HMR not available.");return new Promise(tr=>{function rr(ir){I===ir.name&&(tr(),B?.off("studio:external-package-removed",rr))}B.on("studio:external-package-removed",rr),B.send("studio:remove-external-package",{name:I})})}function useSubscribeToVetraPackages(){const I=reactExports.useRef(void 0);reactExports.useEffect(()=>{const B=async rr=>{const ir=window.ph?.vetraPackages||[],_r=(await __vitePreload(()=>import(`${rr.url}?t=${rr.timestamp}`),[])).default.map(convertLegacyLibToVetraPackage),fr=[...ir.filter(gr=>gr.id==="powerhouse/common"),..._r];setVetraPackages(fr)};async function tr(){const rr=await getHMRModule();I.current=rr,rr?.on("studio:external-packages-updated",B)}return tr().catch(logger$2.error),()=>{I.current?.off("studio:external-packages-updated",B)}},[])}const CONNECT_TOAST_CONTAINER_ID="connect";function toast(I,B){const{type:tr="default",containerId:rr=CONNECT_TOAST_CONTAINER_ID,...ir}=B||{};return toast$1(I,{type:tr,containerId:rr,...ir})}const isString$2=I=>typeof I=="string",defer=()=>{let I,B;const tr=new Promise((rr,ir)=>{I=rr,B=ir});return tr.resolve=I,tr.reject=B,tr},makeString=I=>I==null?"":""+I,copy=(I,B,tr)=>{I.forEach(rr=>{B[rr]&&(tr[rr]=B[rr])})},lastOfPathSeparatorRegExp=/###/g,cleanKey=I=>I&&I.indexOf("###")>-1?I.replace(lastOfPathSeparatorRegExp,"."):I,canNotTraverseDeeper=I=>!I||isString$2(I),getLastOfPath=(I,B,tr)=>{const rr=isString$2(B)?B.split("."):B;let ir=0;for(;ir<rr.length-1;){if(canNotTraverseDeeper(I))return{};const lr=cleanKey(rr[ir]);!I[lr]&&tr&&(I[lr]=new tr),Object.prototype.hasOwnProperty.call(I,lr)?I=I[lr]:I={},++ir}return canNotTraverseDeeper(I)?{}:{obj:I,k:cleanKey(rr[ir])}},setPath=(I,B,tr)=>{const{obj:rr,k:ir}=getLastOfPath(I,B,Object);if(rr!==void 0||B.length===1){rr[ir]=tr;return}let lr=B[B.length-1],dr=B.slice(0,B.length-1),mr=getLastOfPath(I,dr,Object);for(;mr.obj===void 0&&dr.length;)lr=`${dr[dr.length-1]}.${lr}`,dr=dr.slice(0,dr.length-1),mr=getLastOfPath(I,dr,Object),mr?.obj&&typeof mr.obj[`${mr.k}.${lr}`]<"u"&&(mr.obj=void 0);mr.obj[`${mr.k}.${lr}`]=tr},pushPath=(I,B,tr,rr)=>{const{obj:ir,k:lr}=getLastOfPath(I,B,Object);ir[lr]=ir[lr]||[],ir[lr].push(tr)},getPath=(I,B)=>{const{obj:tr,k:rr}=getLastOfPath(I,B);if(tr&&Object.prototype.hasOwnProperty.call(tr,rr))return tr[rr]},getPathWithDefaults=(I,B,tr)=>{const rr=getPath(I,tr);return rr!==void 0?rr:getPath(B,tr)},deepExtend=(I,B,tr)=>{for(const rr in B)rr!=="__proto__"&&rr!=="constructor"&&(rr in I?isString$2(I[rr])||I[rr]instanceof String||isString$2(B[rr])||B[rr]instanceof String?tr&&(I[rr]=B[rr]):deepExtend(I[rr],B[rr],tr):I[rr]=B[rr]);return I},regexEscape=I=>I.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var _entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const escape=I=>isString$2(I)?I.replace(/[&<>"'\/]/g,B=>_entityMap[B]):I;class RegExpCache{constructor(B){this.capacity=B,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(B){const tr=this.regExpMap.get(B);if(tr!==void 0)return tr;const rr=new RegExp(B);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(B,rr),this.regExpQueue.push(B),rr}}const chars=[" ",",","?","!",";"],looksLikeObjectPathRegExpCache=new RegExpCache(20),looksLikeObjectPath=(I,B,tr)=>{B=B||"",tr=tr||"";const rr=chars.filter(dr=>B.indexOf(dr)<0&&tr.indexOf(dr)<0);if(rr.length===0)return!0;const ir=looksLikeObjectPathRegExpCache.getRegExp(`(${rr.map(dr=>dr==="?"?"\\?":dr).join("|")})`);let lr=!ir.test(I);if(!lr){const dr=I.indexOf(tr);dr>0&&!ir.test(I.substring(0,dr))&&(lr=!0)}return lr},deepFind=(I,B,tr=".")=>{if(!I)return;if(I[B])return Object.prototype.hasOwnProperty.call(I,B)?I[B]:void 0;const rr=B.split(tr);let ir=I;for(let lr=0;lr<rr.length;){if(!ir||typeof ir!="object")return;let dr,mr="";for(let _r=lr;_r<rr.length;++_r)if(_r!==lr&&(mr+=tr),mr+=rr[_r],dr=ir[mr],dr!==void 0){if(["string","number","boolean"].indexOf(typeof dr)>-1&&_r<rr.length-1)continue;lr+=_r-lr+1;break}ir=dr}return ir},getCleanedCode=I=>I?.replace("_","-"),consoleLogger={type:"logger",log(I){this.output("log",I)},warn(I){this.output("warn",I)},error(I){this.output("error",I)},output(I,B){console?.[I]?.apply?.(console,B)}};class Logger{constructor(B,tr={}){this.init(B,tr)}init(B,tr={}){this.prefix=tr.prefix||"i18next:",this.logger=B||consoleLogger,this.options=tr,this.debug=tr.debug}log(...B){return this.forward(B,"log","",!0)}warn(...B){return this.forward(B,"warn","",!0)}error(...B){return this.forward(B,"error","")}deprecate(...B){return this.forward(B,"warn","WARNING DEPRECATED: ",!0)}forward(B,tr,rr,ir){return ir&&!this.debug?null:(isString$2(B[0])&&(B[0]=`${rr}${this.prefix} ${B[0]}`),this.logger[tr](B))}create(B){return new Logger(this.logger,{prefix:`${this.prefix}:${B}:`,...this.options})}clone(B){return B=B||this.options,B.prefix=B.prefix||this.prefix,new Logger(this.logger,B)}}var baseLogger=new Logger;class EventEmitter{constructor(){this.observers={}}on(B,tr){return B.split(" ").forEach(rr=>{this.observers[rr]||(this.observers[rr]=new Map);const ir=this.observers[rr].get(tr)||0;this.observers[rr].set(tr,ir+1)}),this}off(B,tr){if(this.observers[B]){if(!tr){delete this.observers[B];return}this.observers[B].delete(tr)}}emit(B,...tr){this.observers[B]&&Array.from(this.observers[B].entries()).forEach(([ir,lr])=>{for(let dr=0;dr<lr;dr++)ir(...tr)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([ir,lr])=>{for(let dr=0;dr<lr;dr++)ir.apply(ir,[B,...tr])})}}class ResourceStore extends EventEmitter{constructor(B,tr={ns:["translation"],defaultNS:"translation"}){super(),this.data=B||{},this.options=tr,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(B){this.options.ns.indexOf(B)<0&&this.options.ns.push(B)}removeNamespaces(B){const tr=this.options.ns.indexOf(B);tr>-1&&this.options.ns.splice(tr,1)}getResource(B,tr,rr,ir={}){const lr=ir.keySeparator!==void 0?ir.keySeparator:this.options.keySeparator,dr=ir.ignoreJSONStructure!==void 0?ir.ignoreJSONStructure:this.options.ignoreJSONStructure;let mr;B.indexOf(".")>-1?mr=B.split("."):(mr=[B,tr],rr&&(Array.isArray(rr)?mr.push(...rr):isString$2(rr)&&lr?mr.push(...rr.split(lr)):mr.push(rr)));const _r=getPath(this.data,mr);return!_r&&!tr&&!rr&&B.indexOf(".")>-1&&(B=mr[0],tr=mr[1],rr=mr.slice(2).join(".")),_r||!dr||!isString$2(rr)?_r:deepFind(this.data?.[B]?.[tr],rr,lr)}addResource(B,tr,rr,ir,lr={silent:!1}){const dr=lr.keySeparator!==void 0?lr.keySeparator:this.options.keySeparator;let mr=[B,tr];rr&&(mr=mr.concat(dr?rr.split(dr):rr)),B.indexOf(".")>-1&&(mr=B.split("."),ir=tr,tr=mr[1]),this.addNamespaces(tr),setPath(this.data,mr,ir),lr.silent||this.emit("added",B,tr,rr,ir)}addResources(B,tr,rr,ir={silent:!1}){for(const lr in rr)(isString$2(rr[lr])||Array.isArray(rr[lr]))&&this.addResource(B,tr,lr,rr[lr],{silent:!0});ir.silent||this.emit("added",B,tr,rr)}addResourceBundle(B,tr,rr,ir,lr,dr={silent:!1,skipCopy:!1}){let mr=[B,tr];B.indexOf(".")>-1&&(mr=B.split("."),ir=rr,rr=tr,tr=mr[1]),this.addNamespaces(tr);let _r=getPath(this.data,mr)||{};dr.skipCopy||(rr=JSON.parse(JSON.stringify(rr))),ir?deepExtend(_r,rr,lr):_r={..._r,...rr},setPath(this.data,mr,_r),dr.silent||this.emit("added",B,tr,rr)}removeResourceBundle(B,tr){this.hasResourceBundle(B,tr)&&delete this.data[B][tr],this.removeNamespaces(tr),this.emit("removed",B,tr)}hasResourceBundle(B,tr){return this.getResource(B,tr)!==void 0}getResourceBundle(B,tr){return tr||(tr=this.options.defaultNS),this.getResource(B,tr)}getDataByLanguage(B){return this.data[B]}hasLanguageSomeTranslations(B){const tr=this.getDataByLanguage(B);return!!(tr&&Object.keys(tr)||[]).find(ir=>tr[ir]&&Object.keys(tr[ir]).length>0)}toJSON(){return this.data}}var postProcessor={processors:{},addPostProcessor(I){this.processors[I.name]=I},handle(I,B,tr,rr,ir){return I.forEach(lr=>{B=this.processors[lr]?.process(B,tr,rr,ir)??B}),B}};const PATH_KEY=Symbol("i18next/PATH_KEY");function createProxy(){const I=[],B=Object.create(null);let tr;return B.get=(rr,ir)=>(tr?.revoke?.(),ir===PATH_KEY?I:(I.push(ir),tr=Proxy.revocable(rr,B),tr.proxy)),Proxy.revocable(Object.create(null),B).proxy}function keysFromSelector(I,B){const{[PATH_KEY]:tr}=I(createProxy());return tr.join(B?.keySeparator??".")}const checkedLoadedFor={},shouldHandleAsObject=I=>!isString$2(I)&&typeof I!="boolean"&&typeof I!="number";class Translator extends EventEmitter{constructor(B,tr={}){super(),copy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],B,this),this.options=tr,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=baseLogger.create("translator")}changeLanguage(B){B&&(this.language=B)}exists(B,tr={interpolation:{}}){const rr={...tr};if(B==null)return!1;const ir=this.resolve(B,rr);if(ir?.res===void 0)return!1;const lr=shouldHandleAsObject(ir.res);return!(rr.returnObjects===!1&&lr)}extractFromKey(B,tr){let rr=tr.nsSeparator!==void 0?tr.nsSeparator:this.options.nsSeparator;rr===void 0&&(rr=":");const ir=tr.keySeparator!==void 0?tr.keySeparator:this.options.keySeparator;let lr=tr.ns||this.options.defaultNS||[];const dr=rr&&B.indexOf(rr)>-1,mr=!this.options.userDefinedKeySeparator&&!tr.keySeparator&&!this.options.userDefinedNsSeparator&&!tr.nsSeparator&&!looksLikeObjectPath(B,rr,ir);if(dr&&!mr){const _r=B.match(this.interpolator.nestingRegexp);if(_r&&_r.length>0)return{key:B,namespaces:isString$2(lr)?[lr]:lr};const hr=B.split(rr);(rr!==ir||rr===ir&&this.options.ns.indexOf(hr[0])>-1)&&(lr=hr.shift()),B=hr.join(ir)}return{key:B,namespaces:isString$2(lr)?[lr]:lr}}translate(B,tr,rr){let ir=typeof tr=="object"?{...tr}:tr;if(typeof ir!="object"&&this.options.overloadTranslationOptionHandler&&(ir=this.options.overloadTranslationOptionHandler(arguments)),typeof ir=="object"&&(ir={...ir}),ir||(ir={}),B==null)return"";typeof B=="function"&&(B=keysFromSelector(B,{...this.options,...ir})),Array.isArray(B)||(B=[String(B)]);const lr=ir.returnDetails!==void 0?ir.returnDetails:this.options.returnDetails,dr=ir.keySeparator!==void 0?ir.keySeparator:this.options.keySeparator,{key:mr,namespaces:_r}=this.extractFromKey(B[B.length-1],ir),hr=_r[_r.length-1];let fr=ir.nsSeparator!==void 0?ir.nsSeparator:this.options.nsSeparator;fr===void 0&&(fr=":");const gr=ir.lng||this.language,xr=ir.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(gr?.toLowerCase()==="cimode")return xr?lr?{res:`${hr}${fr}${mr}`,usedKey:mr,exactUsedKey:mr,usedLng:gr,usedNS:hr,usedParams:this.getUsedParamsDetails(ir)}:`${hr}${fr}${mr}`:lr?{res:mr,usedKey:mr,exactUsedKey:mr,usedLng:gr,usedNS:hr,usedParams:this.getUsedParamsDetails(ir)}:mr;const wr=this.resolve(B,ir);let Sr=wr?.res;const vr=wr?.usedKey||mr,Ir=wr?.exactUsedKey||mr,Mr=["[object Number]","[object Function]","[object RegExp]"],yr=ir.joinArrays!==void 0?ir.joinArrays:this.options.joinArrays,br=!this.i18nFormat||this.i18nFormat.handleAsObject,Cr=ir.count!==void 0&&!isString$2(ir.count),Fr=Translator.hasDefaultValue(ir),Lr=Cr?this.pluralResolver.getSuffix(gr,ir.count,ir):"",Ar=ir.ordinal&&Cr?this.pluralResolver.getSuffix(gr,ir.count,{ordinal:!1}):"",Or=Cr&&!ir.ordinal&&ir.count===0,Jr=Or&&ir[`defaultValue${this.options.pluralSeparator}zero`]||ir[`defaultValue${Lr}`]||ir[`defaultValue${Ar}`]||ir.defaultValue;let Gr=Sr;br&&!Sr&&Fr&&(Gr=Jr);const oo=shouldHandleAsObject(Gr),zr=Object.prototype.toString.apply(Gr);if(br&&Gr&&oo&&Mr.indexOf(zr)<0&&!(isString$2(yr)&&Array.isArray(Gr))){if(!ir.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const ao=this.options.returnedObjectHandler?this.options.returnedObjectHandler(vr,Gr,{...ir,ns:_r}):`key '${mr} (${this.language})' returned an object instead of string.`;return lr?(wr.res=ao,wr.usedParams=this.getUsedParamsDetails(ir),wr):ao}if(dr){const ao=Array.isArray(Gr),no=ao?[]:{},Eo=ao?Ir:vr;for(const So in Gr)if(Object.prototype.hasOwnProperty.call(Gr,So)){const mo=`${Eo}${dr}${So}`;Fr&&!Sr?no[So]=this.translate(mo,{...ir,defaultValue:shouldHandleAsObject(Jr)?Jr[So]:void 0,joinArrays:!1,ns:_r}):no[So]=this.translate(mo,{...ir,joinArrays:!1,ns:_r}),no[So]===mo&&(no[So]=Gr[So])}Sr=no}}else if(br&&isString$2(yr)&&Array.isArray(Sr))Sr=Sr.join(yr),Sr&&(Sr=this.extendTranslation(Sr,B,ir,rr));else{let ao=!1,no=!1;!this.isValidLookup(Sr)&&Fr&&(ao=!0,Sr=Jr),this.isValidLookup(Sr)||(no=!0,Sr=mr);const So=(ir.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&no?void 0:Sr,mo=Fr&&Jr!==Sr&&this.options.updateMissing;if(no||ao||mo){if(this.logger.log(mo?"updateKey":"missingKey",gr,hr,mr,mo?Jr:Sr),dr){const xo=this.resolve(mr,{...ir,keySeparator:!1});xo&&xo.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let ho=[];const Ao=this.languageUtils.getFallbackCodes(this.options.fallbackLng,ir.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ao&&Ao[0])for(let xo=0;xo<Ao.length;xo++)ho.push(Ao[xo]);else this.options.saveMissingTo==="all"?ho=this.languageUtils.toResolveHierarchy(ir.lng||this.language):ho.push(ir.lng||this.language);const Ro=(xo,yo,bo)=>{const Do=Fr&&bo!==Sr?bo:So;this.options.missingKeyHandler?this.options.missingKeyHandler(xo,hr,yo,Do,mo,ir):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(xo,hr,yo,Do,mo,ir),this.emit("missingKey",xo,hr,yo,Sr)};this.options.saveMissing&&(this.options.saveMissingPlurals&&Cr?ho.forEach(xo=>{const yo=this.pluralResolver.getSuffixes(xo,ir);Or&&ir[`defaultValue${this.options.pluralSeparator}zero`]&&yo.indexOf(`${this.options.pluralSeparator}zero`)<0&&yo.push(`${this.options.pluralSeparator}zero`),yo.forEach(bo=>{Ro([xo],mr+bo,ir[`defaultValue${bo}`]||Jr)})}):Ro(ho,mr,Jr))}Sr=this.extendTranslation(Sr,B,ir,wr,rr),no&&Sr===mr&&this.options.appendNamespaceToMissingKey&&(Sr=`${hr}${fr}${mr}`),(no||ao)&&this.options.parseMissingKeyHandler&&(Sr=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${hr}${fr}${mr}`:mr,ao?Sr:void 0,ir))}return lr?(wr.res=Sr,wr.usedParams=this.getUsedParamsDetails(ir),wr):Sr}extendTranslation(B,tr,rr,ir,lr){if(this.i18nFormat?.parse)B=this.i18nFormat.parse(B,{...this.options.interpolation.defaultVariables,...rr},rr.lng||this.language||ir.usedLng,ir.usedNS,ir.usedKey,{resolved:ir});else if(!rr.skipInterpolation){rr.interpolation&&this.interpolator.init({...rr,interpolation:{...this.options.interpolation,...rr.interpolation}});const _r=isString$2(B)&&(rr?.interpolation?.skipOnVariables!==void 0?rr.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let hr;if(_r){const gr=B.match(this.interpolator.nestingRegexp);hr=gr&&gr.length}let fr=rr.replace&&!isString$2(rr.replace)?rr.replace:rr;if(this.options.interpolation.defaultVariables&&(fr={...this.options.interpolation.defaultVariables,...fr}),B=this.interpolator.interpolate(B,fr,rr.lng||this.language||ir.usedLng,rr),_r){const gr=B.match(this.interpolator.nestingRegexp),xr=gr&&gr.length;hr<xr&&(rr.nest=!1)}!rr.lng&&ir&&ir.res&&(rr.lng=this.language||ir.usedLng),rr.nest!==!1&&(B=this.interpolator.nest(B,(...gr)=>lr?.[0]===gr[0]&&!rr.context?(this.logger.warn(`It seems you are nesting recursively key: ${gr[0]} in key: ${tr[0]}`),null):this.translate(...gr,tr),rr)),rr.interpolation&&this.interpolator.reset()}const dr=rr.postProcess||this.options.postProcess,mr=isString$2(dr)?[dr]:dr;return B!=null&&mr?.length&&rr.applyPostProcessor!==!1&&(B=postProcessor.handle(mr,B,tr,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...ir,usedParams:this.getUsedParamsDetails(rr)},...rr}:rr,this)),B}resolve(B,tr={}){let rr,ir,lr,dr,mr;return isString$2(B)&&(B=[B]),B.forEach(_r=>{if(this.isValidLookup(rr))return;const hr=this.extractFromKey(_r,tr),fr=hr.key;ir=fr;let gr=hr.namespaces;this.options.fallbackNS&&(gr=gr.concat(this.options.fallbackNS));const xr=tr.count!==void 0&&!isString$2(tr.count),wr=xr&&!tr.ordinal&&tr.count===0,Sr=tr.context!==void 0&&(isString$2(tr.context)||typeof tr.context=="number")&&tr.context!=="",vr=tr.lngs?tr.lngs:this.languageUtils.toResolveHierarchy(tr.lng||this.language,tr.fallbackLng);gr.forEach(Ir=>{this.isValidLookup(rr)||(mr=Ir,!checkedLoadedFor[`${vr[0]}-${Ir}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(mr)&&(checkedLoadedFor[`${vr[0]}-${Ir}`]=!0,this.logger.warn(`key "${ir}" for languages "${vr.join(", ")}" won't get resolved as namespace "${mr}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),vr.forEach(Mr=>{if(this.isValidLookup(rr))return;dr=Mr;const yr=[fr];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(yr,fr,Mr,Ir,tr);else{let Cr;xr&&(Cr=this.pluralResolver.getSuffix(Mr,tr.count,tr));const Fr=`${this.options.pluralSeparator}zero`,Lr=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(xr&&(tr.ordinal&&Cr.indexOf(Lr)===0&&yr.push(fr+Cr.replace(Lr,this.options.pluralSeparator)),yr.push(fr+Cr),wr&&yr.push(fr+Fr)),Sr){const Ar=`${fr}${this.options.contextSeparator||"_"}${tr.context}`;yr.push(Ar),xr&&(tr.ordinal&&Cr.indexOf(Lr)===0&&yr.push(Ar+Cr.replace(Lr,this.options.pluralSeparator)),yr.push(Ar+Cr),wr&&yr.push(Ar+Fr))}}let br;for(;br=yr.pop();)this.isValidLookup(rr)||(lr=br,rr=this.getResource(Mr,Ir,br,tr))}))})}),{res:rr,usedKey:ir,exactUsedKey:lr,usedLng:dr,usedNS:mr}}isValidLookup(B){return B!==void 0&&!(!this.options.returnNull&&B===null)&&!(!this.options.returnEmptyString&&B==="")}getResource(B,tr,rr,ir={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(B,tr,rr,ir):this.resourceStore.getResource(B,tr,rr,ir)}getUsedParamsDetails(B={}){const tr=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],rr=B.replace&&!isString$2(B.replace);let ir=rr?B.replace:B;if(rr&&typeof B.count<"u"&&(ir.count=B.count),this.options.interpolation.defaultVariables&&(ir={...this.options.interpolation.defaultVariables,...ir}),!rr){ir={...ir};for(const lr of tr)delete ir[lr]}return ir}static hasDefaultValue(B){const tr="defaultValue";for(const rr in B)if(Object.prototype.hasOwnProperty.call(B,rr)&&tr===rr.substring(0,tr.length)&&B[rr]!==void 0)return!0;return!1}}class LanguageUtil{constructor(B){this.options=B,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}getScriptPartFromCode(B){if(B=getCleanedCode(B),!B||B.indexOf("-")<0)return null;const tr=B.split("-");return tr.length===2||(tr.pop(),tr[tr.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(tr.join("-"))}getLanguagePartFromCode(B){if(B=getCleanedCode(B),!B||B.indexOf("-")<0)return B;const tr=B.split("-");return this.formatLanguageCode(tr[0])}formatLanguageCode(B){if(isString$2(B)&&B.indexOf("-")>-1){let tr;try{tr=Intl.getCanonicalLocales(B)[0]}catch{}return tr&&this.options.lowerCaseLng&&(tr=tr.toLowerCase()),tr||(this.options.lowerCaseLng?B.toLowerCase():B)}return this.options.cleanCode||this.options.lowerCaseLng?B.toLowerCase():B}isSupportedCode(B){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(B=this.getLanguagePartFromCode(B)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(B)>-1}getBestMatchFromCodes(B){if(!B)return null;let tr;return B.forEach(rr=>{if(tr)return;const ir=this.formatLanguageCode(rr);(!this.options.supportedLngs||this.isSupportedCode(ir))&&(tr=ir)}),!tr&&this.options.supportedLngs&&B.forEach(rr=>{if(tr)return;const ir=this.getScriptPartFromCode(rr);if(this.isSupportedCode(ir))return tr=ir;const lr=this.getLanguagePartFromCode(rr);if(this.isSupportedCode(lr))return tr=lr;tr=this.options.supportedLngs.find(dr=>{if(dr===lr)return dr;if(!(dr.indexOf("-")<0&&lr.indexOf("-")<0)&&(dr.indexOf("-")>0&&lr.indexOf("-")<0&&dr.substring(0,dr.indexOf("-"))===lr||dr.indexOf(lr)===0&&lr.length>1))return dr})}),tr||(tr=this.getFallbackCodes(this.options.fallbackLng)[0]),tr}getFallbackCodes(B,tr){if(!B)return[];if(typeof B=="function"&&(B=B(tr)),isString$2(B)&&(B=[B]),Array.isArray(B))return B;if(!tr)return B.default||[];let rr=B[tr];return rr||(rr=B[this.getScriptPartFromCode(tr)]),rr||(rr=B[this.formatLanguageCode(tr)]),rr||(rr=B[this.getLanguagePartFromCode(tr)]),rr||(rr=B.default),rr||[]}toResolveHierarchy(B,tr){const rr=this.getFallbackCodes((tr===!1?[]:tr)||this.options.fallbackLng||[],B),ir=[],lr=dr=>{dr&&(this.isSupportedCode(dr)?ir.push(dr):this.logger.warn(`rejecting language code not found in supportedLngs: ${dr}`))};return isString$2(B)&&(B.indexOf("-")>-1||B.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&lr(this.formatLanguageCode(B)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&lr(this.getScriptPartFromCode(B)),this.options.load!=="currentOnly"&&lr(this.getLanguagePartFromCode(B))):isString$2(B)&&lr(this.formatLanguageCode(B)),rr.forEach(dr=>{ir.indexOf(dr)<0&&lr(this.formatLanguageCode(dr))}),ir}}const suffixesOrder={zero:0,one:1,two:2,few:3,many:4,other:5},dummyRule={select:I=>I===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class PluralResolver{constructor(B,tr={}){this.languageUtils=B,this.options=tr,this.logger=baseLogger.create("pluralResolver"),this.pluralRulesCache={}}addRule(B,tr){this.rules[B]=tr}clearCache(){this.pluralRulesCache={}}getRule(B,tr={}){const rr=getCleanedCode(B==="dev"?"en":B),ir=tr.ordinal?"ordinal":"cardinal",lr=JSON.stringify({cleanedCode:rr,type:ir});if(lr in this.pluralRulesCache)return this.pluralRulesCache[lr];let dr;try{dr=new Intl.PluralRules(rr,{type:ir})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),dummyRule;if(!B.match(/-|_/))return dummyRule;const _r=this.languageUtils.getLanguagePartFromCode(B);dr=this.getRule(_r,tr)}return this.pluralRulesCache[lr]=dr,dr}needsPlural(B,tr={}){let rr=this.getRule(B,tr);return rr||(rr=this.getRule("dev",tr)),rr?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(B,tr,rr={}){return this.getSuffixes(B,rr).map(ir=>`${tr}${ir}`)}getSuffixes(B,tr={}){let rr=this.getRule(B,tr);return rr||(rr=this.getRule("dev",tr)),rr?rr.resolvedOptions().pluralCategories.sort((ir,lr)=>suffixesOrder[ir]-suffixesOrder[lr]).map(ir=>`${this.options.prepend}${tr.ordinal?`ordinal${this.options.prepend}`:""}${ir}`):[]}getSuffix(B,tr,rr={}){const ir=this.getRule(B,rr);return ir?`${this.options.prepend}${rr.ordinal?`ordinal${this.options.prepend}`:""}${ir.select(tr)}`:(this.logger.warn(`no plural rule found for: ${B}`),this.getSuffix("dev",tr,rr))}}const deepFindWithDefaults=(I,B,tr,rr=".",ir=!0)=>{let lr=getPathWithDefaults(I,B,tr);return!lr&&ir&&isString$2(tr)&&(lr=deepFind(I,tr,rr),lr===void 0&&(lr=deepFind(B,tr,rr))),lr},regexSafe=I=>I.replace(/\$/g,"$$$$");class Interpolator{constructor(B={}){this.logger=baseLogger.create("interpolator"),this.options=B,this.format=B?.interpolation?.format||(tr=>tr),this.init(B)}init(B={}){B.interpolation||(B.interpolation={escapeValue:!0});const{escape:tr,escapeValue:rr,useRawValueToEscape:ir,prefix:lr,prefixEscaped:dr,suffix:mr,suffixEscaped:_r,formatSeparator:hr,unescapeSuffix:fr,unescapePrefix:gr,nestingPrefix:xr,nestingPrefixEscaped:wr,nestingSuffix:Sr,nestingSuffixEscaped:vr,nestingOptionsSeparator:Ir,maxReplaces:Mr,alwaysFormat:yr}=B.interpolation;this.escape=tr!==void 0?tr:escape,this.escapeValue=rr!==void 0?rr:!0,this.useRawValueToEscape=ir!==void 0?ir:!1,this.prefix=lr?regexEscape(lr):dr||"{{",this.suffix=mr?regexEscape(mr):_r||"}}",this.formatSeparator=hr||",",this.unescapePrefix=fr?"":gr||"-",this.unescapeSuffix=this.unescapePrefix?"":fr||"",this.nestingPrefix=xr?regexEscape(xr):wr||regexEscape("$t("),this.nestingSuffix=Sr?regexEscape(Sr):vr||regexEscape(")"),this.nestingOptionsSeparator=Ir||",",this.maxReplaces=Mr||1e3,this.alwaysFormat=yr!==void 0?yr:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const B=(tr,rr)=>tr?.source===rr?(tr.lastIndex=0,tr):new RegExp(rr,"g");this.regexp=B(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=B(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=B(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(B,tr,rr,ir){let lr,dr,mr;const _r=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},hr=wr=>{if(wr.indexOf(this.formatSeparator)<0){const Mr=deepFindWithDefaults(tr,_r,wr,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(Mr,void 0,rr,{...ir,...tr,interpolationkey:wr}):Mr}const Sr=wr.split(this.formatSeparator),vr=Sr.shift().trim(),Ir=Sr.join(this.formatSeparator).trim();return this.format(deepFindWithDefaults(tr,_r,vr,this.options.keySeparator,this.options.ignoreJSONStructure),Ir,rr,{...ir,...tr,interpolationkey:vr})};this.resetRegExp();const fr=ir?.missingInterpolationHandler||this.options.missingInterpolationHandler,gr=ir?.interpolation?.skipOnVariables!==void 0?ir.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:wr=>regexSafe(wr)},{regex:this.regexp,safeValue:wr=>this.escapeValue?regexSafe(this.escape(wr)):regexSafe(wr)}].forEach(wr=>{for(mr=0;lr=wr.regex.exec(B);){const Sr=lr[1].trim();if(dr=hr(Sr),dr===void 0)if(typeof fr=="function"){const Ir=fr(B,lr,ir);dr=isString$2(Ir)?Ir:""}else if(ir&&Object.prototype.hasOwnProperty.call(ir,Sr))dr="";else if(gr){dr=lr[0];continue}else this.logger.warn(`missed to pass in variable ${Sr} for interpolating ${B}`),dr="";else!isString$2(dr)&&!this.useRawValueToEscape&&(dr=makeString(dr));const vr=wr.safeValue(dr);if(B=B.replace(lr[0],vr),gr?(wr.regex.lastIndex+=dr.length,wr.regex.lastIndex-=lr[0].length):wr.regex.lastIndex=0,mr++,mr>=this.maxReplaces)break}}),B}nest(B,tr,rr={}){let ir,lr,dr;const mr=(_r,hr)=>{const fr=this.nestingOptionsSeparator;if(_r.indexOf(fr)<0)return _r;const gr=_r.split(new RegExp(`${fr}[ ]*{`));let xr=`{${gr[1]}`;_r=gr[0],xr=this.interpolate(xr,dr);const wr=xr.match(/'/g),Sr=xr.match(/"/g);((wr?.length??0)%2===0&&!Sr||Sr.length%2!==0)&&(xr=xr.replace(/'/g,'"'));try{dr=JSON.parse(xr),hr&&(dr={...hr,...dr})}catch(vr){return this.logger.warn(`failed parsing options string in nesting for key ${_r}`,vr),`${_r}${fr}${xr}`}return dr.defaultValue&&dr.defaultValue.indexOf(this.prefix)>-1&&delete dr.defaultValue,_r};for(;ir=this.nestingRegexp.exec(B);){let _r=[];dr={...rr},dr=dr.replace&&!isString$2(dr.replace)?dr.replace:dr,dr.applyPostProcessor=!1,delete dr.defaultValue;const hr=/{.*}/.test(ir[1])?ir[1].lastIndexOf("}")+1:ir[1].indexOf(this.formatSeparator);if(hr!==-1&&(_r=ir[1].slice(hr).split(this.formatSeparator).map(fr=>fr.trim()).filter(Boolean),ir[1]=ir[1].slice(0,hr)),lr=tr(mr.call(this,ir[1].trim(),dr),dr),lr&&ir[0]===B&&!isString$2(lr))return lr;isString$2(lr)||(lr=makeString(lr)),lr||(this.logger.warn(`missed to resolve ${ir[1]} for nesting ${B}`),lr=""),_r.length&&(lr=_r.reduce((fr,gr)=>this.format(fr,gr,rr.lng,{...rr,interpolationkey:ir[1].trim()}),lr.trim())),B=B.replace(ir[0],lr),this.regexp.lastIndex=0}return B}}const parseFormatStr=I=>{let B=I.toLowerCase().trim();const tr={};if(I.indexOf("(")>-1){const rr=I.split("(");B=rr[0].toLowerCase().trim();const ir=rr[1].substring(0,rr[1].length-1);B==="currency"&&ir.indexOf(":")<0?tr.currency||(tr.currency=ir.trim()):B==="relativetime"&&ir.indexOf(":")<0?tr.range||(tr.range=ir.trim()):ir.split(";").forEach(dr=>{if(dr){const[mr,..._r]=dr.split(":"),hr=_r.join(":").trim().replace(/^'+|'+$/g,""),fr=mr.trim();tr[fr]||(tr[fr]=hr),hr==="false"&&(tr[fr]=!1),hr==="true"&&(tr[fr]=!0),isNaN(hr)||(tr[fr]=parseInt(hr,10))}})}return{formatName:B,formatOptions:tr}},createCachedFormatter=I=>{const B={};return(tr,rr,ir)=>{let lr=ir;ir&&ir.interpolationkey&&ir.formatParams&&ir.formatParams[ir.interpolationkey]&&ir[ir.interpolationkey]&&(lr={...lr,[ir.interpolationkey]:void 0});const dr=rr+JSON.stringify(lr);let mr=B[dr];return mr||(mr=I(getCleanedCode(rr),ir),B[dr]=mr),mr(tr)}},createNonCachedFormatter=I=>(B,tr,rr)=>I(getCleanedCode(tr),rr)(B);class Formatter{constructor(B={}){this.logger=baseLogger.create("formatter"),this.options=B,this.init(B)}init(B,tr={interpolation:{}}){this.formatSeparator=tr.interpolation.formatSeparator||",";const rr=tr.cacheInBuiltFormats?createCachedFormatter:createNonCachedFormatter;this.formats={number:rr((ir,lr)=>{const dr=new Intl.NumberFormat(ir,{...lr});return mr=>dr.format(mr)}),currency:rr((ir,lr)=>{const dr=new Intl.NumberFormat(ir,{...lr,style:"currency"});return mr=>dr.format(mr)}),datetime:rr((ir,lr)=>{const dr=new Intl.DateTimeFormat(ir,{...lr});return mr=>dr.format(mr)}),relativetime:rr((ir,lr)=>{const dr=new Intl.RelativeTimeFormat(ir,{...lr});return mr=>dr.format(mr,lr.range||"day")}),list:rr((ir,lr)=>{const dr=new Intl.ListFormat(ir,{...lr});return mr=>dr.format(mr)})}}add(B,tr){this.formats[B.toLowerCase().trim()]=tr}addCached(B,tr){this.formats[B.toLowerCase().trim()]=createCachedFormatter(tr)}format(B,tr,rr,ir={}){const lr=tr.split(this.formatSeparator);if(lr.length>1&&lr[0].indexOf("(")>1&&lr[0].indexOf(")")<0&&lr.find(mr=>mr.indexOf(")")>-1)){const mr=lr.findIndex(_r=>_r.indexOf(")")>-1);lr[0]=[lr[0],...lr.splice(1,mr)].join(this.formatSeparator)}return lr.reduce((mr,_r)=>{const{formatName:hr,formatOptions:fr}=parseFormatStr(_r);if(this.formats[hr]){let gr=mr;try{const xr=ir?.formatParams?.[ir.interpolationkey]||{},wr=xr.locale||xr.lng||ir.locale||ir.lng||rr;gr=this.formats[hr](mr,wr,{...fr,...ir,...xr})}catch(xr){this.logger.warn(xr)}return gr}else this.logger.warn(`there was no format function for ${hr}`);return mr},B)}}const removePending=(I,B)=>{I.pending[B]!==void 0&&(delete I.pending[B],I.pendingCount--)};class Connector extends EventEmitter{constructor(B,tr,rr,ir={}){super(),this.backend=B,this.store=tr,this.services=rr,this.languageUtils=rr.languageUtils,this.options=ir,this.logger=baseLogger.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=ir.maxParallelReads||10,this.readingCalls=0,this.maxRetries=ir.maxRetries>=0?ir.maxRetries:5,this.retryTimeout=ir.retryTimeout>=1?ir.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(rr,ir.backend,ir)}queueLoad(B,tr,rr,ir){const lr={},dr={},mr={},_r={};return B.forEach(hr=>{let fr=!0;tr.forEach(gr=>{const xr=`${hr}|${gr}`;!rr.reload&&this.store.hasResourceBundle(hr,gr)?this.state[xr]=2:this.state[xr]<0||(this.state[xr]===1?dr[xr]===void 0&&(dr[xr]=!0):(this.state[xr]=1,fr=!1,dr[xr]===void 0&&(dr[xr]=!0),lr[xr]===void 0&&(lr[xr]=!0),_r[gr]===void 0&&(_r[gr]=!0)))}),fr||(mr[hr]=!0)}),(Object.keys(lr).length||Object.keys(dr).length)&&this.queue.push({pending:dr,pendingCount:Object.keys(dr).length,loaded:{},errors:[],callback:ir}),{toLoad:Object.keys(lr),pending:Object.keys(dr),toLoadLanguages:Object.keys(mr),toLoadNamespaces:Object.keys(_r)}}loaded(B,tr,rr){const ir=B.split("|"),lr=ir[0],dr=ir[1];tr&&this.emit("failedLoading",lr,dr,tr),!tr&&rr&&this.store.addResourceBundle(lr,dr,rr,void 0,void 0,{skipCopy:!0}),this.state[B]=tr?-1:2,tr&&rr&&(this.state[B]=0);const mr={};this.queue.forEach(_r=>{pushPath(_r.loaded,[lr],dr),removePending(_r,B),tr&&_r.errors.push(tr),_r.pendingCount===0&&!_r.done&&(Object.keys(_r.loaded).forEach(hr=>{mr[hr]||(mr[hr]={});const fr=_r.loaded[hr];fr.length&&fr.forEach(gr=>{mr[hr][gr]===void 0&&(mr[hr][gr]=!0)})}),_r.done=!0,_r.errors.length?_r.callback(_r.errors):_r.callback())}),this.emit("loaded",mr),this.queue=this.queue.filter(_r=>!_r.done)}read(B,tr,rr,ir=0,lr=this.retryTimeout,dr){if(!B.length)return dr(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:B,ns:tr,fcName:rr,tried:ir,wait:lr,callback:dr});return}this.readingCalls++;const mr=(hr,fr)=>{if(this.readingCalls--,this.waitingReads.length>0){const gr=this.waitingReads.shift();this.read(gr.lng,gr.ns,gr.fcName,gr.tried,gr.wait,gr.callback)}if(hr&&fr&&ir<this.maxRetries){setTimeout(()=>{this.read.call(this,B,tr,rr,ir+1,lr*2,dr)},lr);return}dr(hr,fr)},_r=this.backend[rr].bind(this.backend);if(_r.length===2){try{const hr=_r(B,tr);hr&&typeof hr.then=="function"?hr.then(fr=>mr(null,fr)).catch(mr):mr(null,hr)}catch(hr){mr(hr)}return}return _r(B,tr,mr)}prepareLoading(B,tr,rr={},ir){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),ir&&ir();isString$2(B)&&(B=this.languageUtils.toResolveHierarchy(B)),isString$2(tr)&&(tr=[tr]);const lr=this.queueLoad(B,tr,rr,ir);if(!lr.toLoad.length)return lr.pending.length||ir(),null;lr.toLoad.forEach(dr=>{this.loadOne(dr)})}load(B,tr,rr){this.prepareLoading(B,tr,{},rr)}reload(B,tr,rr){this.prepareLoading(B,tr,{reload:!0},rr)}loadOne(B,tr=""){const rr=B.split("|"),ir=rr[0],lr=rr[1];this.read(ir,lr,"read",void 0,void 0,(dr,mr)=>{dr&&this.logger.warn(`${tr}loading namespace ${lr} for language ${ir} failed`,dr),!dr&&mr&&this.logger.log(`${tr}loaded namespace ${lr} for language ${ir}`,mr),this.loaded(B,dr,mr)})}saveMissing(B,tr,rr,ir,lr,dr={},mr=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(tr)){this.logger.warn(`did not save key "${rr}" as the namespace "${tr}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(rr==null||rr==="")){if(this.backend?.create){const _r={...dr,isUpdate:lr},hr=this.backend.create.bind(this.backend);if(hr.length<6)try{let fr;hr.length===5?fr=hr(B,tr,rr,ir,_r):fr=hr(B,tr,rr,ir),fr&&typeof fr.then=="function"?fr.then(gr=>mr(null,gr)).catch(mr):mr(null,fr)}catch(fr){mr(fr)}else hr(B,tr,rr,ir,mr,_r)}!B||!B[0]||this.store.addResource(B[0],tr,rr,ir)}}}const get=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:I=>{let B={};if(typeof I[1]=="object"&&(B=I[1]),isString$2(I[1])&&(B.defaultValue=I[1]),isString$2(I[2])&&(B.tDescription=I[2]),typeof I[2]=="object"||typeof I[3]=="object"){const tr=I[3]||I[2];Object.keys(tr).forEach(rr=>{B[rr]=tr[rr]})}return B},interpolation:{escapeValue:!0,format:I=>I,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),transformOptions=I=>(isString$2(I.ns)&&(I.ns=[I.ns]),isString$2(I.fallbackLng)&&(I.fallbackLng=[I.fallbackLng]),isString$2(I.fallbackNS)&&(I.fallbackNS=[I.fallbackNS]),I.supportedLngs?.indexOf?.("cimode")<0&&(I.supportedLngs=I.supportedLngs.concat(["cimode"])),typeof I.initImmediate=="boolean"&&(I.initAsync=I.initImmediate),I),noop=()=>{},bindMemberFunctions=I=>{Object.getOwnPropertyNames(Object.getPrototypeOf(I)).forEach(tr=>{typeof I[tr]=="function"&&(I[tr]=I[tr].bind(I))})};class I18n extends EventEmitter{constructor(B={},tr){if(super(),this.options=transformOptions(B),this.services={},this.logger=baseLogger,this.modules={external:[]},bindMemberFunctions(this),tr&&!this.isInitialized&&!B.isClone){if(!this.options.initAsync)return this.init(B,tr),this;setTimeout(()=>{this.init(B,tr)},0)}}init(B={},tr){this.isInitializing=!0,typeof B=="function"&&(tr=B,B={}),B.defaultNS==null&&B.ns&&(isString$2(B.ns)?B.defaultNS=B.ns:B.ns.indexOf("translation")<0&&(B.defaultNS=B.ns[0]));const rr=get();this.options={...rr,...this.options,...transformOptions(B)},this.options.interpolation={...rr.interpolation,...this.options.interpolation},B.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=B.keySeparator),B.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=B.nsSeparator);const ir=hr=>hr?typeof hr=="function"?new hr:hr:null;if(!this.options.isClone){this.modules.logger?baseLogger.init(ir(this.modules.logger),this.options):baseLogger.init(null,this.options);let hr;this.modules.formatter?hr=this.modules.formatter:hr=Formatter;const fr=new LanguageUtil(this.options);this.store=new ResourceStore(this.options.resources,this.options);const gr=this.services;gr.logger=baseLogger,gr.resourceStore=this.store,gr.languageUtils=fr,gr.pluralResolver=new PluralResolver(fr,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==rr.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),hr&&(!this.options.interpolation.format||this.options.interpolation.format===rr.interpolation.format)&&(gr.formatter=ir(hr),gr.formatter.init&&gr.formatter.init(gr,this.options),this.options.interpolation.format=gr.formatter.format.bind(gr.formatter)),gr.interpolator=new Interpolator(this.options),gr.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},gr.backendConnector=new Connector(ir(this.modules.backend),gr.resourceStore,gr,this.options),gr.backendConnector.on("*",(wr,...Sr)=>{this.emit(wr,...Sr)}),this.modules.languageDetector&&(gr.languageDetector=ir(this.modules.languageDetector),gr.languageDetector.init&&gr.languageDetector.init(gr,this.options.detection,this.options)),this.modules.i18nFormat&&(gr.i18nFormat=ir(this.modules.i18nFormat),gr.i18nFormat.init&&gr.i18nFormat.init(this)),this.translator=new Translator(this.services,this.options),this.translator.on("*",(wr,...Sr)=>{this.emit(wr,...Sr)}),this.modules.external.forEach(wr=>{wr.init&&wr.init(this)})}if(this.format=this.options.interpolation.format,tr||(tr=noop),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const hr=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);hr.length>0&&hr[0]!=="dev"&&(this.options.lng=hr[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(hr=>{this[hr]=(...fr)=>this.store[hr](...fr)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(hr=>{this[hr]=(...fr)=>(this.store[hr](...fr),this)});const mr=defer(),_r=()=>{const hr=(fr,gr)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),mr.resolve(gr),tr(fr,gr)};if(this.languages&&!this.isInitialized)return hr(null,this.t.bind(this));this.changeLanguage(this.options.lng,hr)};return this.options.resources||!this.options.initAsync?_r():setTimeout(_r,0),mr}loadResources(B,tr=noop){let rr=tr;const ir=isString$2(B)?B:this.language;if(typeof B=="function"&&(rr=B),!this.options.resources||this.options.partialBundledLanguages){if(ir?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return rr();const lr=[],dr=mr=>{if(!mr||mr==="cimode")return;this.services.languageUtils.toResolveHierarchy(mr).forEach(hr=>{hr!=="cimode"&&lr.indexOf(hr)<0&&lr.push(hr)})};ir?dr(ir):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(_r=>dr(_r)),this.options.preload?.forEach?.(mr=>dr(mr)),this.services.backendConnector.load(lr,this.options.ns,mr=>{!mr&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),rr(mr)})}else rr(null)}reloadResources(B,tr,rr){const ir=defer();return typeof B=="function"&&(rr=B,B=void 0),typeof tr=="function"&&(rr=tr,tr=void 0),B||(B=this.languages),tr||(tr=this.options.ns),rr||(rr=noop),this.services.backendConnector.reload(B,tr,lr=>{ir.resolve(),rr(lr)}),ir}use(B){if(!B)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!B.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return B.type==="backend"&&(this.modules.backend=B),(B.type==="logger"||B.log&&B.warn&&B.error)&&(this.modules.logger=B),B.type==="languageDetector"&&(this.modules.languageDetector=B),B.type==="i18nFormat"&&(this.modules.i18nFormat=B),B.type==="postProcessor"&&postProcessor.addPostProcessor(B),B.type==="formatter"&&(this.modules.formatter=B),B.type==="3rdParty"&&this.modules.external.push(B),this}setResolvedLanguage(B){if(!(!B||!this.languages)&&!(["cimode","dev"].indexOf(B)>-1)){for(let tr=0;tr<this.languages.length;tr++){const rr=this.languages[tr];if(!(["cimode","dev"].indexOf(rr)>-1)&&this.store.hasLanguageSomeTranslations(rr)){this.resolvedLanguage=rr;break}}!this.resolvedLanguage&&this.languages.indexOf(B)<0&&this.store.hasLanguageSomeTranslations(B)&&(this.resolvedLanguage=B,this.languages.unshift(B))}}changeLanguage(B,tr){this.isLanguageChangingTo=B;const rr=defer();this.emit("languageChanging",B);const ir=mr=>{this.language=mr,this.languages=this.services.languageUtils.toResolveHierarchy(mr),this.resolvedLanguage=void 0,this.setResolvedLanguage(mr)},lr=(mr,_r)=>{_r?this.isLanguageChangingTo===B&&(ir(_r),this.translator.changeLanguage(_r),this.isLanguageChangingTo=void 0,this.emit("languageChanged",_r),this.logger.log("languageChanged",_r)):this.isLanguageChangingTo=void 0,rr.resolve((...hr)=>this.t(...hr)),tr&&tr(mr,(...hr)=>this.t(...hr))},dr=mr=>{!B&&!mr&&this.services.languageDetector&&(mr=[]);const _r=isString$2(mr)?mr:mr&&mr[0],hr=this.store.hasLanguageSomeTranslations(_r)?_r:this.services.languageUtils.getBestMatchFromCodes(isString$2(mr)?[mr]:mr);hr&&(this.language||ir(hr),this.translator.language||this.translator.changeLanguage(hr),this.services.languageDetector?.cacheUserLanguage?.(hr)),this.loadResources(hr,fr=>{lr(fr,hr)})};return!B&&this.services.languageDetector&&!this.services.languageDetector.async?dr(this.services.languageDetector.detect()):!B&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(dr):this.services.languageDetector.detect(dr):dr(B),rr}getFixedT(B,tr,rr){const ir=(lr,dr,...mr)=>{let _r;typeof dr!="object"?_r=this.options.overloadTranslationOptionHandler([lr,dr].concat(mr)):_r={...dr},_r.lng=_r.lng||ir.lng,_r.lngs=_r.lngs||ir.lngs,_r.ns=_r.ns||ir.ns,_r.keyPrefix!==""&&(_r.keyPrefix=_r.keyPrefix||rr||ir.keyPrefix);const hr=this.options.keySeparator||".";let fr;return _r.keyPrefix&&Array.isArray(lr)?fr=lr.map(gr=>(typeof gr=="function"&&(gr=keysFromSelector(gr,{...this.options,...dr})),`${_r.keyPrefix}${hr}${gr}`)):(typeof lr=="function"&&(lr=keysFromSelector(lr,{...this.options,...dr})),fr=_r.keyPrefix?`${_r.keyPrefix}${hr}${lr}`:lr),this.t(fr,_r)};return isString$2(B)?ir.lng=B:ir.lngs=B,ir.ns=tr,ir.keyPrefix=rr,ir}t(...B){return this.translator?.translate(...B)}exists(...B){return this.translator?.exists(...B)}setDefaultNamespace(B){this.options.defaultNS=B}hasLoadedNamespace(B,tr={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const rr=tr.lng||this.resolvedLanguage||this.languages[0],ir=this.options?this.options.fallbackLng:!1,lr=this.languages[this.languages.length-1];if(rr.toLowerCase()==="cimode")return!0;const dr=(mr,_r)=>{const hr=this.services.backendConnector.state[`${mr}|${_r}`];return hr===-1||hr===0||hr===2};if(tr.precheck){const mr=tr.precheck(this,dr);if(mr!==void 0)return mr}return!!(this.hasResourceBundle(rr,B)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||dr(rr,B)&&(!ir||dr(lr,B)))}loadNamespaces(B,tr){const rr=defer();return this.options.ns?(isString$2(B)&&(B=[B]),B.forEach(ir=>{this.options.ns.indexOf(ir)<0&&this.options.ns.push(ir)}),this.loadResources(ir=>{rr.resolve(),tr&&tr(ir)}),rr):(tr&&tr(),Promise.resolve())}loadLanguages(B,tr){const rr=defer();isString$2(B)&&(B=[B]);const ir=this.options.preload||[],lr=B.filter(dr=>ir.indexOf(dr)<0&&this.services.languageUtils.isSupportedCode(dr));return lr.length?(this.options.preload=ir.concat(lr),this.loadResources(dr=>{rr.resolve(),tr&&tr(dr)}),rr):(tr&&tr(),Promise.resolve())}dir(B){if(B||(B=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!B)return"rtl";try{const ir=new Intl.Locale(B);if(ir&&ir.getTextInfo){const lr=ir.getTextInfo();if(lr&&lr.direction)return lr.direction}}catch{}const tr=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],rr=this.services?.languageUtils||new LanguageUtil(get());return B.toLowerCase().indexOf("-latn")>1?"ltr":tr.indexOf(rr.getLanguagePartFromCode(B))>-1||B.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(B={},tr){return new I18n(B,tr)}cloneInstance(B={},tr=noop){const rr=B.forkResourceStore;rr&&delete B.forkResourceStore;const ir={...this.options,...B,isClone:!0},lr=new I18n(ir);if((B.debug!==void 0||B.prefix!==void 0)&&(lr.logger=lr.logger.clone(B)),["store","services","language"].forEach(mr=>{lr[mr]=this[mr]}),lr.services={...this.services},lr.services.utils={hasLoadedNamespace:lr.hasLoadedNamespace.bind(lr)},rr){const mr=Object.keys(this.store.data).reduce((_r,hr)=>(_r[hr]={...this.store.data[hr]},_r[hr]=Object.keys(_r[hr]).reduce((fr,gr)=>(fr[gr]={..._r[hr][gr]},fr),_r[hr]),_r),{});lr.store=new ResourceStore(mr,ir),lr.services.resourceStore=lr.store}return lr.translator=new Translator(lr.services,ir),lr.translator.on("*",(mr,..._r)=>{lr.emit(mr,..._r)}),lr.init(ir,tr),lr.translator.options=ir,lr.translator.backendConnector.services.utils={hasLoadedNamespace:lr.hasLoadedNamespace.bind(lr)},lr}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const instance=I18n.createInstance();instance.createInstance=I18n.createInstance;instance.createInstance;instance.dir;instance.init;instance.loadResources;instance.reloadResources;instance.use;instance.changeLanguage;instance.getFixedT;const t$1=instance.t;instance.exists;instance.setDefaultNamespace;instance.hasLoadedNamespace;instance.loadNamespaces;instance.loadLanguages;var voidElements,hasRequiredVoidElements;function requireVoidElements(){return hasRequiredVoidElements||(hasRequiredVoidElements=1,voidElements={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),voidElements}var voidElementsExports=requireVoidElements();const e=getDefaultExportFromCjs(voidElementsExports);var t=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function n$1(I){var B={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},tr=I.match(/<\/?([^\s]+?)[/\s>]/);if(tr&&(B.name=tr[1],(e[tr[1]]||I.charAt(I.length-2)==="/")&&(B.voidElement=!0),B.name.startsWith("!--"))){var rr=I.indexOf("-->");return{type:"comment",comment:rr!==-1?I.slice(4,rr):""}}for(var ir=new RegExp(t),lr=null;(lr=ir.exec(I))!==null;)if(lr[0].trim())if(lr[1]){var dr=lr[1].trim(),mr=[dr,""];dr.indexOf("=")>-1&&(mr=dr.split("=")),B.attrs[mr[0]]=mr[1],ir.lastIndex--}else lr[2]&&(B.attrs[lr[2]]=lr[3].trim().substring(1,lr[3].length-1));return B}var r$1=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,i$1=/^\s*$/,s$2=Object.create(null);function a$1(I,B){switch(B.type){case"text":return I+B.content;case"tag":return I+="<"+B.name+(B.attrs?(function(tr){var rr=[];for(var ir in tr)rr.push(ir+'="'+tr[ir]+'"');return rr.length?" "+rr.join(" "):""})(B.attrs):"")+(B.voidElement?"/>":">"),B.voidElement?I:I+B.children.reduce(a$1,"")+"</"+B.name+">";case"comment":return I+"<!--"+B.comment+"-->"}}var c$1={parse:function(I,B){B||(B={}),B.components||(B.components=s$2);var tr,rr=[],ir=[],lr=-1,dr=!1;if(I.indexOf("<")!==0){var mr=I.indexOf("<");rr.push({type:"text",content:mr===-1?I:I.substring(0,mr)})}return I.replace(r$1,function(_r,hr){if(dr){if(_r!=="</"+tr.name+">")return;dr=!1}var fr,gr=_r.charAt(1)!=="/",xr=_r.startsWith("<!--"),wr=hr+_r.length,Sr=I.charAt(wr);if(xr){var vr=n$1(_r);return lr<0?(rr.push(vr),rr):((fr=ir[lr]).children.push(vr),rr)}if(gr&&(lr++,(tr=n$1(_r)).type==="tag"&&B.components[tr.name]&&(tr.type="component",dr=!0),tr.voidElement||dr||!Sr||Sr==="<"||tr.children.push({type:"text",content:I.slice(wr,I.indexOf("<",wr))}),lr===0&&rr.push(tr),(fr=ir[lr-1])&&fr.children.push(tr),ir[lr]=tr),(!gr||tr.voidElement)&&(lr>-1&&(tr.voidElement||tr.name===_r.slice(2,-1))&&(lr--,tr=lr===-1?rr:ir[lr]),!dr&&Sr!=="<"&&Sr)){fr=lr===-1?rr:ir[lr].children;var Ir=I.indexOf("<",wr),Mr=I.slice(wr,Ir===-1?void 0:Ir);i$1.test(Mr)&&(Mr=" "),(Ir>-1&&lr+fr.length>=0||Mr!==" ")&&fr.push({type:"text",content:Mr})}}),rr},stringify:function(I){return I.reduce(function(B,tr){return B+a$1("",tr)},"")}};const warn=(I,B,tr,rr)=>{const ir=[tr,{code:B,...rr||{}}];if(I?.services?.logger?.forward)return I.services.logger.forward(ir,"warn","react-i18next::",!0);isString$1(ir[0])&&(ir[0]=`react-i18next:: ${ir[0]}`),I?.services?.logger?.warn?I.services.logger.warn(...ir):console?.warn&&console.warn(...ir)},alreadyWarned={},warnOnce=(I,B,tr,rr)=>{isString$1(tr)&&alreadyWarned[tr]||(isString$1(tr)&&(alreadyWarned[tr]=new Date),warn(I,B,tr,rr))},loadedClb=(I,B)=>()=>{if(I.isInitialized)B();else{const tr=()=>{setTimeout(()=>{I.off("initialized",tr)},0),B()};I.on("initialized",tr)}},loadNamespaces=(I,B,tr)=>{I.loadNamespaces(B,loadedClb(I,tr))},loadLanguages=(I,B,tr,rr)=>{if(isString$1(tr)&&(tr=[tr]),I.options.preload&&I.options.preload.indexOf(B)>-1)return loadNamespaces(I,tr,rr);tr.forEach(ir=>{I.options.ns.indexOf(ir)<0&&I.options.ns.push(ir)}),I.loadLanguages(B,loadedClb(I,rr))},hasLoadedNamespace=(I,B,tr={})=>!B.languages||!B.languages.length?(warnOnce(B,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:B.languages}),!0):B.hasLoadedNamespace(I,{lng:tr.lng,precheck:(rr,ir)=>{if(tr.bindI18n&&tr.bindI18n.indexOf("languageChanging")>-1&&rr.services.backendConnector.backend&&rr.isLanguageChangingTo&&!ir(rr.isLanguageChangingTo,I))return!1}}),isString$1=I=>typeof I=="string",isObject$1=I=>typeof I=="object"&&I!==null,matchHtmlEntity=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,htmlEntities={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},unescapeHtmlEntity=I=>htmlEntities[I],unescape=I=>I.replace(matchHtmlEntity,unescapeHtmlEntity);let defaultOptions={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape};const setDefaults=(I={})=>{defaultOptions={...defaultOptions,...I}},getDefaults=()=>defaultOptions;let i18nInstance;const setI18n=I=>{i18nInstance=I},getI18n=()=>i18nInstance,hasChildren=(I,B)=>{if(!I)return!1;const tr=I.props?.children??I.children;return B?tr.length>0:!!tr},getChildren=I=>{if(!I)return[];const B=I.props?.children??I.children;return I.props?.i18nIsDynamicList?getAsArray(B):B},hasValidReactChildren=I=>Array.isArray(I)&&I.every(reactExports.isValidElement),getAsArray=I=>Array.isArray(I)?I:[I],mergeProps=(I,B)=>{const tr={...B};return tr.props=Object.assign(I.props,B.props),tr},nodesToString=(I,B,tr,rr)=>{if(!I)return"";let ir="";const lr=getAsArray(I),dr=B?.transSupportBasicHtmlNodes?B.transKeepBasicHtmlNodesFor??[]:[];return lr.forEach((mr,_r)=>{if(isString$1(mr)){ir+=`${mr}`;return}if(reactExports.isValidElement(mr)){const{props:hr,type:fr}=mr,gr=Object.keys(hr).length,xr=dr.indexOf(fr)>-1,wr=hr.children;if(!wr&&xr&&!gr){ir+=`<${fr}/>`;return}if(!wr&&(!xr||gr)||hr.i18nIsDynamicList){ir+=`<${_r}></${_r}>`;return}if(xr&&gr===1&&isString$1(wr)){ir+=`<${fr}>${wr}</${fr}>`;return}const Sr=nodesToString(wr,B,tr,rr);ir+=`<${_r}>${Sr}</${_r}>`;return}if(mr===null){warn(tr,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:rr});return}if(isObject$1(mr)){const{format:hr,...fr}=mr,gr=Object.keys(fr);if(gr.length===1){const xr=hr?`${gr[0]}, ${hr}`:gr[0];ir+=`{{${xr}}}`;return}warn(tr,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:rr,child:mr});return}warn(tr,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:rr,child:mr})}),ir},escapeLiteralLessThan=(I,B=[],tr={})=>{if(!I)return I;const rr=Object.keys(tr),ir=[...B,...rr];let lr="",dr=0;for(;dr<I.length;)if(I[dr]==="<"){let mr=!1;const _r=I.slice(dr).match(/^<\/(\d+|[a-zA-Z][a-zA-Z0-9-]*)>/);if(_r){const hr=_r[1];(/^\d+$/.test(hr)||ir.includes(hr))&&(mr=!0,lr+=_r[0],dr+=_r[0].length)}if(!mr){const hr=I.slice(dr).match(/^<(\d+|[a-zA-Z][a-zA-Z0-9-]*)(\s+[\w-]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?)*\s*(\/)?>/);if(hr){const fr=hr[1];(/^\d+$/.test(fr)||ir.includes(fr))&&(mr=!0,lr+=hr[0],dr+=hr[0].length)}}mr||(lr+="<",dr+=1)}else lr+=I[dr],dr+=1;return lr},renderNodes=(I,B,tr,rr,ir,lr,dr)=>{if(tr==="")return[];const mr=ir.transKeepBasicHtmlNodesFor||[],_r=tr&&new RegExp(mr.map(yr=>`<${yr}`).join("|")).test(tr);if(!I&&!B&&!_r&&!dr)return[tr];const hr=B??{},fr=yr=>{getAsArray(yr).forEach(Cr=>{isString$1(Cr)||(hasChildren(Cr)?fr(getChildren(Cr)):isObject$1(Cr)&&!reactExports.isValidElement(Cr)&&Object.assign(hr,Cr))})};fr(I);const gr=escapeLiteralLessThan(tr,mr,hr),xr=c$1.parse(`<0>${gr}</0>`),wr={...hr,...lr},Sr=(yr,br,Cr)=>{const Fr=getChildren(yr),Lr=Ir(Fr,br.children,Cr);return hasValidReactChildren(Fr)&&Lr.length===0||yr.props?.i18nIsDynamicList?Fr:Lr},vr=(yr,br,Cr,Fr,Lr)=>{yr.dummy?(yr.children=br,Cr.push(reactExports.cloneElement(yr,{key:Fr},Lr?void 0:br))):Cr.push(...reactExports.Children.map([yr],Ar=>{const Or={...Ar.props};return delete Or.i18nIsDynamicList,reactExports.createElement(Ar.type,{...Or,key:Fr,ref:Ar.props.ref??Ar.ref},Lr?null:br)}))},Ir=(yr,br,Cr)=>{const Fr=getAsArray(yr);return getAsArray(br).reduce((Ar,Or,Jr)=>{const Gr=Or.children?.[0]?.content&&rr.services.interpolator.interpolate(Or.children[0].content,wr,rr.language);if(Or.type==="tag"){let oo=Fr[parseInt(Or.name,10)];!oo&&B&&(oo=B[Or.name]),Cr.length===1&&!oo&&(oo=Cr[0][Or.name]),oo||(oo={});const zr=Object.keys(Or.attrs).length!==0?mergeProps({props:Or.attrs},oo):oo,ao=reactExports.isValidElement(zr),no=ao&&hasChildren(Or,!0)&&!Or.voidElement,Eo=_r&&isObject$1(zr)&&zr.dummy&&!ao,So=isObject$1(B)&&Object.hasOwnProperty.call(B,Or.name);if(isString$1(zr)){const mo=rr.services.interpolator.interpolate(zr,wr,rr.language);Ar.push(mo)}else if(hasChildren(zr)||no){const mo=Sr(zr,Or,Cr);vr(zr,mo,Ar,Jr)}else if(Eo){const mo=Ir(Fr,Or.children,Cr);vr(zr,mo,Ar,Jr)}else if(Number.isNaN(parseFloat(Or.name)))if(So){const mo=Sr(zr,Or,Cr);vr(zr,mo,Ar,Jr,Or.voidElement)}else if(ir.transSupportBasicHtmlNodes&&mr.indexOf(Or.name)>-1)if(Or.voidElement)Ar.push(reactExports.createElement(Or.name,{key:`${Or.name}-${Jr}`}));else{const mo=Ir(Fr,Or.children,Cr);Ar.push(reactExports.createElement(Or.name,{key:`${Or.name}-${Jr}`},mo))}else if(Or.voidElement)Ar.push(`<${Or.name} />`);else{const mo=Ir(Fr,Or.children,Cr);Ar.push(`<${Or.name}>${mo}</${Or.name}>`)}else if(isObject$1(zr)&&!ao){const mo=Or.children[0]?Gr:null;mo&&Ar.push(mo)}else vr(zr,Gr,Ar,Jr,Or.children.length!==1||!Gr)}else if(Or.type==="text"){const oo=ir.transWrapTextNodes,zr=dr?ir.unescape(rr.services.interpolator.interpolate(Or.content,wr,rr.language)):rr.services.interpolator.interpolate(Or.content,wr,rr.language);oo?Ar.push(reactExports.createElement(oo,{key:`${Or.name}-${Jr}`},zr)):Ar.push(zr)}return Ar},[])},Mr=Ir([{dummy:!0,children:I||[]}],xr,getAsArray(I||[]));return getChildren(Mr[0])},fixComponentProps=(I,B,tr)=>{const rr=I.key||B,ir=reactExports.cloneElement(I,{key:rr});if(!ir.props||!ir.props.children||tr.indexOf(`${B}/>`)<0&&tr.indexOf(`${B} />`)<0)return ir;function lr(){return reactExports.createElement(reactExports.Fragment,null,ir)}return reactExports.createElement(lr,{key:rr})},generateArrayComponents=(I,B)=>I.map((tr,rr)=>fixComponentProps(tr,rr,B)),generateObjectComponents=(I,B)=>{const tr={};return Object.keys(I).forEach(rr=>{Object.assign(tr,{[rr]:fixComponentProps(I[rr],rr,B)})}),tr},generateComponents=(I,B,tr,rr)=>I?Array.isArray(I)?generateArrayComponents(I,B):isObject$1(I)?generateObjectComponents(I,B):(warnOnce(tr,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:rr}),null):null,isComponentsMap=I=>!isObject$1(I)||Array.isArray(I)?!1:Object.keys(I).reduce((B,tr)=>B&&Number.isNaN(Number.parseFloat(tr)),!0);function Trans$1({children:I,count:B,parent:tr,i18nKey:rr,context:ir,tOptions:lr={},values:dr,defaults:mr,components:_r,ns:hr,i18n:fr,t:gr,shouldUnescape:xr,...wr}){const Sr=fr||getI18n();if(!Sr)return warnOnce(Sr,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:rr}),I;const vr=gr||Sr.t.bind(Sr)||(no=>no),Ir={...getDefaults(),...Sr.options?.react};let Mr=hr||vr.ns||Sr.options?.defaultNS;Mr=isString$1(Mr)?[Mr]:Mr||["translation"];const yr=nodesToString(I,Ir,Sr,rr),br=mr||lr?.defaultValue||yr||Ir.transEmptyNodeValue||(typeof rr=="function"?keysFromSelector(rr):rr),{hashTransKey:Cr}=Ir,Fr=rr||(Cr?Cr(yr||br):yr||br);Sr.options?.interpolation?.defaultVariables&&(dr=dr&&Object.keys(dr).length>0?{...dr,...Sr.options.interpolation.defaultVariables}:{...Sr.options.interpolation.defaultVariables});const Lr=dr||B!==void 0&&!Sr.options?.interpolation?.alwaysFormat||!I?lr.interpolation:{interpolation:{...lr.interpolation,prefix:"#$?",suffix:"?$#"}},Ar={...lr,context:ir||lr.context,count:B,...dr,...Lr,defaultValue:mr||lr?.defaultValue,ns:Mr};let Or=Fr?vr(Fr,Ar):br;Or===Fr&&br&&(Or=br);const Jr=generateComponents(_r,Or,Sr,rr);let Gr=Jr||I,oo=null;isComponentsMap(Jr)&&(oo=Jr,Gr=I);const zr=renderNodes(Gr,oo,Or,Sr,Ir,Ar,xr),ao=tr??Ir.defaultTransParent;return ao?reactExports.createElement(ao,wr,zr):zr}const initReactI18next={type:"3rdParty",init(I){setDefaults(I.options.react),setI18n(I)}},I18nContext=reactExports.createContext();class ReportNamespaces{constructor(){this.usedNamespaces={}}addUsedNamespaces(B){B.forEach(tr=>{this.usedNamespaces[tr]||(this.usedNamespaces[tr]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}function Trans({children:I,count:B,parent:tr,i18nKey:rr,context:ir,tOptions:lr={},values:dr,defaults:mr,components:_r,ns:hr,i18n:fr,t:gr,shouldUnescape:xr,...wr}){const{i18n:Sr,defaultNS:vr}=reactExports.useContext(I18nContext)||{},Ir=fr||Sr||getI18n(),Mr=gr||Ir?.t.bind(Ir);return Trans$1({children:I,count:B,parent:tr,i18nKey:rr,context:ir,tOptions:lr,values:dr,defaults:mr,components:_r,ns:hr||Mr?.ns||vr||Ir?.options?.defaultNS,i18n:Ir,t:gr,shouldUnescape:xr,...wr})}var shim={exports:{}},useSyncExternalStoreShim_production={};var hasRequiredUseSyncExternalStoreShim_production;function requireUseSyncExternalStoreShim_production(){if(hasRequiredUseSyncExternalStoreShim_production)return useSyncExternalStoreShim_production;hasRequiredUseSyncExternalStoreShim_production=1;var I=requireReact();function B(gr,xr){return gr===xr&&(gr!==0||1/gr===1/xr)||gr!==gr&&xr!==xr}var tr=typeof Object.is=="function"?Object.is:B,rr=I.useState,ir=I.useEffect,lr=I.useLayoutEffect,dr=I.useDebugValue;function mr(gr,xr){var wr=xr(),Sr=rr({inst:{value:wr,getSnapshot:xr}}),vr=Sr[0].inst,Ir=Sr[1];return lr(function(){vr.value=wr,vr.getSnapshot=xr,_r(vr)&&Ir({inst:vr})},[gr,wr,xr]),ir(function(){return _r(vr)&&Ir({inst:vr}),gr(function(){_r(vr)&&Ir({inst:vr})})},[gr]),dr(wr),wr}function _r(gr){var xr=gr.getSnapshot;gr=gr.value;try{var wr=xr();return!tr(gr,wr)}catch{return!0}}function hr(gr,xr){return xr()}var fr=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?hr:mr;return useSyncExternalStoreShim_production.useSyncExternalStore=I.useSyncExternalStore!==void 0?I.useSyncExternalStore:fr,useSyncExternalStoreShim_production}var hasRequiredShim;function requireShim(){return hasRequiredShim||(hasRequiredShim=1,shim.exports=requireUseSyncExternalStoreShim_production()),shim.exports}var shimExports=requireShim();const notReadyT=(I,B)=>isString$1(B)?B:isObject$1(B)&&isString$1(B.defaultValue)?B.defaultValue:Array.isArray(I)?I[I.length-1]:I,notReadySnapshot={t:notReadyT,ready:!1},dummySubscribe=()=>()=>{},useTranslation=(I,B={})=>{const{i18n:tr}=B,{i18n:rr,defaultNS:ir}=reactExports.useContext(I18nContext)||{},lr=tr||rr||getI18n();lr&&!lr.reportNamespaces&&(lr.reportNamespaces=new ReportNamespaces),lr||warnOnce(lr,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const dr=reactExports.useMemo(()=>({...getDefaults(),...lr?.options?.react,...B}),[lr,B]),{useSuspense:mr,keyPrefix:_r}=dr,hr=reactExports.useMemo(()=>{const Cr=ir||lr?.options?.defaultNS;return isString$1(Cr)?[Cr]:Cr||["translation"]},[I,ir,lr]);lr?.reportNamespaces?.addUsedNamespaces?.(hr);const fr=reactExports.useRef(0),gr=reactExports.useCallback(Cr=>{if(!lr)return dummySubscribe;const{bindI18n:Fr,bindI18nStore:Lr}=dr,Ar=()=>{fr.current+=1,Cr()};return Fr&&lr.on(Fr,Ar),Lr&&lr.store.on(Lr,Ar),()=>{Fr&&Fr.split(" ").forEach(Or=>lr.off(Or,Ar)),Lr&&Lr.split(" ").forEach(Or=>lr.store.off(Or,Ar))}},[lr,dr]),xr=reactExports.useRef(),wr=reactExports.useCallback(()=>{if(!lr)return notReadySnapshot;const Cr=!!(lr.isInitialized||lr.initializedStoreOnce)&&hr.every(Gr=>hasLoadedNamespace(Gr,lr,dr)),Fr=B.lng||lr.language,Lr=fr.current,Ar=xr.current;if(Ar&&Ar.ready===Cr&&Ar.lng===Fr&&Ar.keyPrefix===_r&&Ar.revision===Lr)return Ar;const Jr={t:lr.getFixedT(Fr,dr.nsMode==="fallback"?hr:hr[0],_r),ready:Cr,lng:Fr,keyPrefix:_r,revision:Lr};return xr.current=Jr,Jr},[lr,hr,_r,dr,B.lng]),[Sr,vr]=reactExports.useState(0),{t:Ir,ready:Mr}=shimExports.useSyncExternalStore(gr,wr,wr);reactExports.useEffect(()=>{if(lr&&!Mr&&!mr){const Cr=()=>vr(Fr=>Fr+1);B.lng?loadLanguages(lr,B.lng,hr,Cr):loadNamespaces(lr,hr,Cr)}},[lr,B.lng,hr,Mr,mr,Sr]);const yr=lr||{},br=reactExports.useMemo(()=>{const Cr=[Ir,yr,Mr];return Cr.t=Ir,Cr.i18n=yr,Cr.ready=Mr,Cr},[Ir,yr,Mr]);if(lr&&mr&&!Mr)throw new Promise(Cr=>{const Fr=()=>Cr();B.lng?loadLanguages(lr,B.lng,hr,Fr):loadNamespaces(lr,hr,Fr)});return br},ReloadConnectToast=()=>{const{t:I}=useTranslation();return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("p",{className:"font-medium",children:I("notifications.reloadApp")}),jsxRuntimeExports.jsxs("button",{onClick:()=>location.reload(),className:"underline decoration-solid underline-offset-2",children:[I("common.reloadConnect")," 🔄"]})]})},useCheckLatestVersion=()=>{async function I(){const B=await isLatestVersion();if(B!==null){if(B.isLatest||B.currentVersion.includes("-"))return!0;connectConfig.studioMode||!connectConfig.warnOutdatedApp?logger$2.warn(`Connect is outdated:
|
|
3
|
-
Current: ${B.currentVersion}
|
|
4
|
-
Latest: ${B.latestVersion}`):toast(reactExports.createElement(ReloadConnectToast),{type:"connect-warning",toastId:"outdated-app",autoClose:!1})}}reactExports.useEffect(()=>{I().catch(console.error)},[])},namespace=connectConfig.routerBasename,COOKIE_BANNER_KEY_STORAGE=`${namespace}:display-cookie-banner`,listeners=new Set;let bannerShown=getInitial();function getInitial(){try{return localStorage.getItem(COOKIE_BANNER_KEY_STORAGE)!=="false"}catch(I){return console.error(I),!0}}function getCookieBannerState(){return bannerShown}function setCookieBannerState(I){bannerShown=I,localStorage.setItem(COOKIE_BANNER_KEY_STORAGE,JSON.stringify(I))}function subscribe(I){return listeners.add(I),()=>listeners.delete(I)}const useCookieBanner=()=>[reactExports.useSyncExternalStore(subscribe,getCookieBannerState,getCookieBannerState),setCookieBannerState];function _extends$3(){return _extends$3=Object.assign?Object.assign.bind():function(I){for(var B=1;B<arguments.length;B++){var tr=arguments[B];for(var rr in tr)Object.prototype.hasOwnProperty.call(tr,rr)&&(I[rr]=tr[rr])}return I},_extends$3.apply(this,arguments)}var Action;(function(I){I.Pop="POP",I.Push="PUSH",I.Replace="REPLACE"})(Action||(Action={}));const PopStateEventType="popstate";function createBrowserHistory(I){I===void 0&&(I={});function B(rr,ir){let{pathname:lr,search:dr,hash:mr}=rr.location;return createLocation("",{pathname:lr,search:dr,hash:mr},ir.state&&ir.state.usr||null,ir.state&&ir.state.key||"default")}function tr(rr,ir){return typeof ir=="string"?ir:createPath(ir)}return getUrlBasedHistory(B,tr,null,I)}function invariant(I,B){if(I===!1||I===null||typeof I>"u")throw new Error(B)}function warning(I,B){if(!I){typeof console<"u"&&console.warn(B);try{throw new Error(B)}catch{}}}function createKey(){return Math.random().toString(36).substr(2,8)}function getHistoryState(I,B){return{usr:I.state,key:I.key,idx:B}}function createLocation(I,B,tr,rr){return tr===void 0&&(tr=null),_extends$3({pathname:typeof I=="string"?I:I.pathname,search:"",hash:""},typeof B=="string"?parsePath(B):B,{state:tr,key:B&&B.key||rr||createKey()})}function createPath(I){let{pathname:B="/",search:tr="",hash:rr=""}=I;return tr&&tr!=="?"&&(B+=tr.charAt(0)==="?"?tr:"?"+tr),rr&&rr!=="#"&&(B+=rr.charAt(0)==="#"?rr:"#"+rr),B}function parsePath(I){let B={};if(I){let tr=I.indexOf("#");tr>=0&&(B.hash=I.substr(tr),I=I.substr(0,tr));let rr=I.indexOf("?");rr>=0&&(B.search=I.substr(rr),I=I.substr(0,rr)),I&&(B.pathname=I)}return B}function getUrlBasedHistory(I,B,tr,rr){rr===void 0&&(rr={});let{window:ir=document.defaultView,v5Compat:lr=!1}=rr,dr=ir.history,mr=Action.Pop,_r=null,hr=fr();hr==null&&(hr=0,dr.replaceState(_extends$3({},dr.state,{idx:hr}),""));function fr(){return(dr.state||{idx:null}).idx}function gr(){mr=Action.Pop;let Ir=fr(),Mr=Ir==null?null:Ir-hr;hr=Ir,_r&&_r({action:mr,location:vr.location,delta:Mr})}function xr(Ir,Mr){mr=Action.Push;let yr=createLocation(vr.location,Ir,Mr);hr=fr()+1;let br=getHistoryState(yr,hr),Cr=vr.createHref(yr);try{dr.pushState(br,"",Cr)}catch(Fr){if(Fr instanceof DOMException&&Fr.name==="DataCloneError")throw Fr;ir.location.assign(Cr)}lr&&_r&&_r({action:mr,location:vr.location,delta:1})}function wr(Ir,Mr){mr=Action.Replace;let yr=createLocation(vr.location,Ir,Mr);hr=fr();let br=getHistoryState(yr,hr),Cr=vr.createHref(yr);dr.replaceState(br,"",Cr),lr&&_r&&_r({action:mr,location:vr.location,delta:0})}function Sr(Ir){let Mr=ir.location.origin!=="null"?ir.location.origin:ir.location.href,yr=typeof Ir=="string"?Ir:createPath(Ir);return yr=yr.replace(/ $/,"%20"),invariant(Mr,"No window.location.(origin|href) available to create URL for href: "+yr),new URL(yr,Mr)}let vr={get action(){return mr},get location(){return I(ir,dr)},listen(Ir){if(_r)throw new Error("A history only accepts one active listener");return ir.addEventListener(PopStateEventType,gr),_r=Ir,()=>{ir.removeEventListener(PopStateEventType,gr),_r=null}},createHref(Ir){return B(ir,Ir)},createURL:Sr,encodeLocation(Ir){let Mr=Sr(Ir);return{pathname:Mr.pathname,search:Mr.search,hash:Mr.hash}},push:xr,replace:wr,go(Ir){return dr.go(Ir)}};return vr}var ResultType;(function(I){I.data="data",I.deferred="deferred",I.redirect="redirect",I.error="error"})(ResultType||(ResultType={}));const immutableRouteKeys=new Set(["lazy","caseSensitive","path","id","index","children"]);function isIndexRoute(I){return I.index===!0}function convertRoutesToDataRoutes(I,B,tr,rr){return tr===void 0&&(tr=[]),rr===void 0&&(rr={}),I.map((ir,lr)=>{let dr=[...tr,String(lr)],mr=typeof ir.id=="string"?ir.id:dr.join("-");if(invariant(ir.index!==!0||!ir.children,"Cannot specify children on an index route"),invariant(!rr[mr],'Found a route id collision on id "'+mr+`". Route id's must be globally unique within Data Router usages`),isIndexRoute(ir)){let _r=_extends$3({},ir,B(ir),{id:mr});return rr[mr]=_r,_r}else{let _r=_extends$3({},ir,B(ir),{id:mr,children:void 0});return rr[mr]=_r,ir.children&&(_r.children=convertRoutesToDataRoutes(ir.children,B,dr,rr)),_r}})}function matchRoutes(I,B,tr){return tr===void 0&&(tr="/"),matchRoutesImpl(I,B,tr,!1)}function matchRoutesImpl(I,B,tr,rr){let ir=typeof B=="string"?parsePath(B):B,lr=stripBasename(ir.pathname||"/",tr);if(lr==null)return null;let dr=flattenRoutes(I);rankRouteBranches(dr);let mr=null;for(let _r=0;mr==null&&_r<dr.length;++_r){let hr=decodePath(lr);mr=matchRouteBranch(dr[_r],hr,rr)}return mr}function convertRouteMatchToUiMatch(I,B){let{route:tr,pathname:rr,params:ir}=I;return{id:tr.id,pathname:rr,params:ir,data:B[tr.id],handle:tr.handle}}function flattenRoutes(I,B,tr,rr){B===void 0&&(B=[]),tr===void 0&&(tr=[]),rr===void 0&&(rr="");let ir=(lr,dr,mr)=>{let _r={relativePath:mr===void 0?lr.path||"":mr,caseSensitive:lr.caseSensitive===!0,childrenIndex:dr,route:lr};_r.relativePath.startsWith("/")&&(invariant(_r.relativePath.startsWith(rr),'Absolute route path "'+_r.relativePath+'" nested under path '+('"'+rr+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),_r.relativePath=_r.relativePath.slice(rr.length));let hr=joinPaths([rr,_r.relativePath]),fr=tr.concat(_r);lr.children&&lr.children.length>0&&(invariant(lr.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+hr+'".')),flattenRoutes(lr.children,B,fr,hr)),!(lr.path==null&&!lr.index)&&B.push({path:hr,score:computeScore(hr,lr.index),routesMeta:fr})};return I.forEach((lr,dr)=>{var mr;if(lr.path===""||!((mr=lr.path)!=null&&mr.includes("?")))ir(lr,dr);else for(let _r of explodeOptionalSegments(lr.path))ir(lr,dr,_r)}),B}function explodeOptionalSegments(I){let B=I.split("/");if(B.length===0)return[];let[tr,...rr]=B,ir=tr.endsWith("?"),lr=tr.replace(/\?$/,"");if(rr.length===0)return ir?[lr,""]:[lr];let dr=explodeOptionalSegments(rr.join("/")),mr=[];return mr.push(...dr.map(_r=>_r===""?lr:[lr,_r].join("/"))),ir&&mr.push(...dr),mr.map(_r=>I.startsWith("/")&&_r===""?"/":_r)}function rankRouteBranches(I){I.sort((B,tr)=>B.score!==tr.score?tr.score-B.score:compareIndexes(B.routesMeta.map(rr=>rr.childrenIndex),tr.routesMeta.map(rr=>rr.childrenIndex)))}const paramRe=/^:[\w-]+$/,dynamicSegmentValue=3,indexRouteValue=2,emptySegmentValue=1,staticSegmentValue=10,splatPenalty=-2,isSplat=I=>I==="*";function computeScore(I,B){let tr=I.split("/"),rr=tr.length;return tr.some(isSplat)&&(rr+=splatPenalty),B&&(rr+=indexRouteValue),tr.filter(ir=>!isSplat(ir)).reduce((ir,lr)=>ir+(paramRe.test(lr)?dynamicSegmentValue:lr===""?emptySegmentValue:staticSegmentValue),rr)}function compareIndexes(I,B){return I.length===B.length&&I.slice(0,-1).every((rr,ir)=>rr===B[ir])?I[I.length-1]-B[B.length-1]:0}function matchRouteBranch(I,B,tr){tr===void 0&&(tr=!1);let{routesMeta:rr}=I,ir={},lr="/",dr=[];for(let mr=0;mr<rr.length;++mr){let _r=rr[mr],hr=mr===rr.length-1,fr=lr==="/"?B:B.slice(lr.length)||"/",gr=matchPath({path:_r.relativePath,caseSensitive:_r.caseSensitive,end:hr},fr),xr=_r.route;if(!gr&&hr&&tr&&!rr[rr.length-1].route.index&&(gr=matchPath({path:_r.relativePath,caseSensitive:_r.caseSensitive,end:!1},fr)),!gr)return null;Object.assign(ir,gr.params),dr.push({params:ir,pathname:joinPaths([lr,gr.pathname]),pathnameBase:normalizePathname(joinPaths([lr,gr.pathnameBase])),route:xr}),gr.pathnameBase!=="/"&&(lr=joinPaths([lr,gr.pathnameBase]))}return dr}function matchPath(I,B){typeof I=="string"&&(I={path:I,caseSensitive:!1,end:!0});let[tr,rr]=compilePath(I.path,I.caseSensitive,I.end),ir=B.match(tr);if(!ir)return null;let lr=ir[0],dr=lr.replace(/(.)\/+$/,"$1"),mr=ir.slice(1);return{params:rr.reduce((hr,fr,gr)=>{let{paramName:xr,isOptional:wr}=fr;if(xr==="*"){let vr=mr[gr]||"";dr=lr.slice(0,lr.length-vr.length).replace(/(.)\/+$/,"$1")}const Sr=mr[gr];return wr&&!Sr?hr[xr]=void 0:hr[xr]=(Sr||"").replace(/%2F/g,"/"),hr},{}),pathname:lr,pathnameBase:dr,pattern:I}}function compilePath(I,B,tr){B===void 0&&(B=!1),tr===void 0&&(tr=!0),warning(I==="*"||!I.endsWith("*")||I.endsWith("/*"),'Route path "'+I+'" will be treated as if it were '+('"'+I.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+I.replace(/\*$/,"/*")+'".'));let rr=[],ir="^"+I.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(dr,mr,_r)=>(rr.push({paramName:mr,isOptional:_r!=null}),_r?"/?([^\\/]+)?":"/([^\\/]+)"));return I.endsWith("*")?(rr.push({paramName:"*"}),ir+=I==="*"||I==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):tr?ir+="\\/*$":I!==""&&I!=="/"&&(ir+="(?:(?=\\/|$))"),[new RegExp(ir,B?void 0:"i"),rr]}function decodePath(I){try{return I.split("/").map(B=>decodeURIComponent(B).replace(/\//g,"%2F")).join("/")}catch(B){return warning(!1,'The URL path "'+I+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+B+").")),I}}function stripBasename(I,B){if(B==="/")return I;if(!I.toLowerCase().startsWith(B.toLowerCase()))return null;let tr=B.endsWith("/")?B.length-1:B.length,rr=I.charAt(tr);return rr&&rr!=="/"?null:I.slice(tr)||"/"}function resolvePath(I,B){B===void 0&&(B="/");let{pathname:tr,search:rr="",hash:ir=""}=typeof I=="string"?parsePath(I):I;return{pathname:tr?tr.startsWith("/")?tr:resolvePathname(tr,B):B,search:normalizeSearch(rr),hash:normalizeHash(ir)}}function resolvePathname(I,B){let tr=B.replace(/\/+$/,"").split("/");return I.split("/").forEach(ir=>{ir===".."?tr.length>1&&tr.pop():ir!=="."&&tr.push(ir)}),tr.length>1?tr.join("/"):"/"}function getInvalidPathError(I,B,tr,rr){return"Cannot include a '"+I+"' character in a manually specified "+("`to."+B+"` field ["+JSON.stringify(rr)+"]. Please separate it out to the ")+("`to."+tr+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function getPathContributingMatches(I){return I.filter((B,tr)=>tr===0||B.route.path&&B.route.path.length>0)}function getResolveToMatches(I,B){let tr=getPathContributingMatches(I);return B?tr.map((rr,ir)=>ir===tr.length-1?rr.pathname:rr.pathnameBase):tr.map(rr=>rr.pathnameBase)}function resolveTo(I,B,tr,rr){rr===void 0&&(rr=!1);let ir;typeof I=="string"?ir=parsePath(I):(ir=_extends$3({},I),invariant(!ir.pathname||!ir.pathname.includes("?"),getInvalidPathError("?","pathname","search",ir)),invariant(!ir.pathname||!ir.pathname.includes("#"),getInvalidPathError("#","pathname","hash",ir)),invariant(!ir.search||!ir.search.includes("#"),getInvalidPathError("#","search","hash",ir)));let lr=I===""||ir.pathname==="",dr=lr?"/":ir.pathname,mr;if(dr==null)mr=tr;else{let gr=B.length-1;if(!rr&&dr.startsWith("..")){let xr=dr.split("/");for(;xr[0]==="..";)xr.shift(),gr-=1;ir.pathname=xr.join("/")}mr=gr>=0?B[gr]:"/"}let _r=resolvePath(ir,mr),hr=dr&&dr!=="/"&&dr.endsWith("/"),fr=(lr||dr===".")&&tr.endsWith("/");return!_r.pathname.endsWith("/")&&(hr||fr)&&(_r.pathname+="/"),_r}const joinPaths=I=>I.join("/").replace(/\/\/+/g,"/"),normalizePathname=I=>I.replace(/\/+$/,"").replace(/^\/*/,"/"),normalizeSearch=I=>!I||I==="?"?"":I.startsWith("?")?I:"?"+I,normalizeHash=I=>!I||I==="#"?"":I.startsWith("#")?I:"#"+I;class ErrorResponseImpl{constructor(B,tr,rr,ir){ir===void 0&&(ir=!1),this.status=B,this.statusText=tr||"",this.internal=ir,rr instanceof Error?(this.data=rr.toString(),this.error=rr):this.data=rr}}function isRouteErrorResponse(I){return I!=null&&typeof I.status=="number"&&typeof I.statusText=="string"&&typeof I.internal=="boolean"&&"data"in I}const validMutationMethodsArr=["post","put","patch","delete"],validMutationMethods=new Set(validMutationMethodsArr),validRequestMethodsArr=["get",...validMutationMethodsArr],validRequestMethods=new Set(validRequestMethodsArr),redirectStatusCodes=new Set([301,302,303,307,308]),redirectPreserveMethodStatusCodes=new Set([307,308]),IDLE_NAVIGATION={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},IDLE_FETCHER={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},IDLE_BLOCKER={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ABSOLUTE_URL_REGEX=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,defaultMapRouteProperties=I=>({hasErrorBoundary:!!I.hasErrorBoundary}),TRANSITIONS_STORAGE_KEY="remix-router-transitions";function createRouter$1(I){const B=I.window?I.window:typeof window<"u"?window:void 0,tr=typeof B<"u"&&typeof B.document<"u"&&typeof B.document.createElement<"u",rr=!tr;invariant(I.routes.length>0,"You must provide a non-empty routes array to createRouter");let ir;if(I.mapRouteProperties)ir=I.mapRouteProperties;else if(I.detectErrorBoundary){let Pr=I.detectErrorBoundary;ir=Dr=>({hasErrorBoundary:Pr(Dr)})}else ir=defaultMapRouteProperties;let lr={},dr=convertRoutesToDataRoutes(I.routes,ir,void 0,lr),mr,_r=I.basename||"/",hr=I.dataStrategy||defaultDataStrategy,fr=I.patchRoutesOnNavigation,gr=_extends$3({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},I.future),xr=null,wr=new Set,Sr=null,vr=null,Ir=null,Mr=I.hydrationData!=null,yr=matchRoutes(dr,I.history.location,_r),br=!1,Cr=null;if(yr==null&&!fr){let Pr=getInternalRouterError(404,{pathname:I.history.location.pathname}),{matches:Dr,route:kr}=getShortCircuitMatches(dr);yr=Dr,Cr={[kr.id]:Pr}}yr&&!I.hydrationData&&Yo(yr,dr,I.history.location.pathname).active&&(yr=null);let Fr;if(yr)if(yr.some(Pr=>Pr.route.lazy))Fr=!1;else if(!yr.some(Pr=>Pr.route.loader))Fr=!0;else if(gr.v7_partialHydration){let Pr=I.hydrationData?I.hydrationData.loaderData:null,Dr=I.hydrationData?I.hydrationData.errors:null;if(Dr){let kr=yr.findIndex(Ur=>Dr[Ur.route.id]!==void 0);Fr=yr.slice(0,kr+1).every(Ur=>!shouldLoadRouteOnHydration(Ur.route,Pr,Dr))}else Fr=yr.every(kr=>!shouldLoadRouteOnHydration(kr.route,Pr,Dr))}else Fr=I.hydrationData!=null;else if(Fr=!1,yr=[],gr.v7_partialHydration){let Pr=Yo(null,dr,I.history.location.pathname);Pr.active&&Pr.matches&&(br=!0,yr=Pr.matches)}let Lr,Ar={historyAction:I.history.action,location:I.history.location,matches:yr,initialized:Fr,navigation:IDLE_NAVIGATION,restoreScrollPosition:I.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:I.hydrationData&&I.hydrationData.loaderData||{},actionData:I.hydrationData&&I.hydrationData.actionData||null,errors:I.hydrationData&&I.hydrationData.errors||Cr,fetchers:new Map,blockers:new Map},Or=Action.Pop,Jr=!1,Gr,oo=!1,zr=new Map,ao=null,no=!1,Eo=!1,So=[],mo=new Set,ho=new Map,Ao=0,Ro=-1,xo=new Map,yo=new Set,bo=new Map,Do=new Map,Co=new Set,Oo=new Map,No=new Map,Ko;function Ps(){if(xr=I.history.listen(Pr=>{let{action:Dr,location:kr,delta:Ur}=Pr;if(Ko){Ko(),Ko=void 0;return}warning(No.size===0||Ur!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let $r=hs({currentLocation:Ar.location,nextLocation:kr,historyAction:Dr});if($r&&Ur!=null){let so=new Promise(io=>{Ko=io});I.history.go(Ur*-1),Jo($r,{state:"blocked",location:kr,proceed(){Jo($r,{state:"proceeding",proceed:void 0,reset:void 0,location:kr}),so.then(()=>I.history.go(Ur))},reset(){let io=new Map(Ar.blockers);io.set($r,IDLE_BLOCKER),vo({blockers:io})}});return}return Lo(Dr,kr)}),tr){restoreAppliedTransitions(B,zr);let Pr=()=>persistAppliedTransitions(B,zr);B.addEventListener("pagehide",Pr),ao=()=>B.removeEventListener("pagehide",Pr)}return Ar.initialized||Lo(Action.Pop,Ar.location,{initialHydration:!0}),Lr}function Ts(){xr&&xr(),ao&&ao(),wr.clear(),Gr&&Gr.abort(),Ar.fetchers.forEach((Pr,Dr)=>Xo(Dr)),Ar.blockers.forEach((Pr,Dr)=>_s(Dr))}function Rs(Pr){return wr.add(Pr),()=>wr.delete(Pr)}function vo(Pr,Dr){Dr===void 0&&(Dr={}),Ar=_extends$3({},Ar,Pr);let kr=[],Ur=[];gr.v7_fetcherPersist&&Ar.fetchers.forEach(($r,so)=>{$r.state==="idle"&&(Co.has(so)?Ur.push(so):kr.push(so))}),Co.forEach($r=>{!Ar.fetchers.has($r)&&!ho.has($r)&&Ur.push($r)}),[...wr].forEach($r=>$r(Ar,{deletedFetchers:Ur,viewTransitionOpts:Dr.viewTransitionOpts,flushSync:Dr.flushSync===!0})),gr.v7_fetcherPersist?(kr.forEach($r=>Ar.fetchers.delete($r)),Ur.forEach($r=>Xo($r))):Ur.forEach($r=>Co.delete($r))}function qo(Pr,Dr,kr){var Ur,$r;let{flushSync:so}=kr===void 0?{}:kr,io=Ar.actionData!=null&&Ar.navigation.formMethod!=null&&isMutationMethod(Ar.navigation.formMethod)&&Ar.navigation.state==="loading"&&((Ur=Pr.state)==null?void 0:Ur._isRedirect)!==!0,eo;Dr.actionData?Object.keys(Dr.actionData).length>0?eo=Dr.actionData:eo=null:io?eo=Ar.actionData:eo=null;let to=Dr.loaderData?mergeLoaderData(Ar.loaderData,Dr.loaderData,Dr.matches||[],Dr.errors):Ar.loaderData,Qr=Ar.blockers;Qr.size>0&&(Qr=new Map(Qr),Qr.forEach((uo,Mo)=>Qr.set(Mo,IDLE_BLOCKER)));let ro=Jr===!0||Ar.navigation.formMethod!=null&&isMutationMethod(Ar.navigation.formMethod)&&(($r=Pr.state)==null?void 0:$r._isRedirect)!==!0;mr&&(dr=mr,mr=void 0),no||Or===Action.Pop||(Or===Action.Push?I.history.push(Pr,Pr.state):Or===Action.Replace&&I.history.replace(Pr,Pr.state));let lo;if(Or===Action.Pop){let uo=zr.get(Ar.location.pathname);uo&&uo.has(Pr.pathname)?lo={currentLocation:Ar.location,nextLocation:Pr}:zr.has(Pr.pathname)&&(lo={currentLocation:Pr,nextLocation:Ar.location})}else if(oo){let uo=zr.get(Ar.location.pathname);uo?uo.add(Pr.pathname):(uo=new Set([Pr.pathname]),zr.set(Ar.location.pathname,uo)),lo={currentLocation:Ar.location,nextLocation:Pr}}vo(_extends$3({},Dr,{actionData:eo,loaderData:to,historyAction:Or,location:Pr,initialized:!0,navigation:IDLE_NAVIGATION,revalidation:"idle",restoreScrollPosition:Es(Pr,Dr.matches||Ar.matches),preventScrollReset:ro,blockers:Qr}),{viewTransitionOpts:lo,flushSync:so===!0}),Or=Action.Pop,Jr=!1,oo=!1,no=!1,Eo=!1,So=[]}async function is(Pr,Dr){if(typeof Pr=="number"){I.history.go(Pr);return}let kr=normalizeTo(Ar.location,Ar.matches,_r,gr.v7_prependBasename,Pr,gr.v7_relativeSplatPath,Dr?.fromRouteId,Dr?.relative),{path:Ur,submission:$r,error:so}=normalizeNavigateOptions(gr.v7_normalizeFormMethod,!1,kr,Dr),io=Ar.location,eo=createLocation(Ar.location,Ur,Dr&&Dr.state);eo=_extends$3({},eo,I.history.encodeLocation(eo));let to=Dr&&Dr.replace!=null?Dr.replace:void 0,Qr=Action.Push;to===!0?Qr=Action.Replace:to===!1||$r!=null&&isMutationMethod($r.formMethod)&&$r.formAction===Ar.location.pathname+Ar.location.search&&(Qr=Action.Replace);let ro=Dr&&"preventScrollReset"in Dr?Dr.preventScrollReset===!0:void 0,lo=(Dr&&Dr.flushSync)===!0,uo=hs({currentLocation:io,nextLocation:eo,historyAction:Qr});if(uo){Jo(uo,{state:"blocked",location:eo,proceed(){Jo(uo,{state:"proceeding",proceed:void 0,reset:void 0,location:eo}),is(Pr,Dr)},reset(){let Mo=new Map(Ar.blockers);Mo.set(uo,IDLE_BLOCKER),vo({blockers:Mo})}});return}return await Lo(Qr,eo,{submission:$r,pendingError:so,preventScrollReset:ro,replace:Dr&&Dr.replace,enableViewTransition:Dr&&Dr.viewTransition,flushSync:lo})}function Ds(){if(ts(),vo({revalidation:"loading"}),Ar.navigation.state!=="submitting"){if(Ar.navigation.state==="idle"){Lo(Ar.historyAction,Ar.location,{startUninterruptedRevalidation:!0});return}Lo(Or||Ar.historyAction,Ar.navigation.location,{overrideNavigation:Ar.navigation,enableViewTransition:oo===!0})}}async function Lo(Pr,Dr,kr){Gr&&Gr.abort(),Gr=null,Or=Pr,no=(kr&&kr.startUninterruptedRevalidation)===!0,zs(Ar.location,Ar.matches),Jr=(kr&&kr.preventScrollReset)===!0,oo=(kr&&kr.enableViewTransition)===!0;let Ur=mr||dr,$r=kr&&kr.overrideNavigation,so=kr!=null&&kr.initialHydration&&Ar.matches&&Ar.matches.length>0&&!br?Ar.matches:matchRoutes(Ur,Dr,_r),io=(kr&&kr.flushSync)===!0;if(so&&Ar.initialized&&!Eo&&isHashChangeOnly(Ar.location,Dr)&&!(kr&&kr.submission&&isMutationMethod(kr.submission.formMethod))){qo(Dr,{matches:so},{flushSync:io});return}let eo=Yo(so,Ur,Dr.pathname);if(eo.active&&eo.matches&&(so=eo.matches),!so){let{error:_o,notFoundMatches:po,route:fo}=rs(Dr.pathname);qo(Dr,{matches:po,loaderData:{},errors:{[fo.id]:_o}},{flushSync:io});return}Gr=new AbortController;let to=createClientSideRequest(I.history,Dr,Gr.signal,kr&&kr.submission),Qr;if(kr&&kr.pendingError)Qr=[findNearestBoundary(so).route.id,{type:ResultType.error,error:kr.pendingError}];else if(kr&&kr.submission&&isMutationMethod(kr.submission.formMethod)){let _o=await Fs(to,Dr,kr.submission,so,eo.active,{replace:kr.replace,flushSync:io});if(_o.shortCircuited)return;if(_o.pendingActionResult){let[po,fo]=_o.pendingActionResult;if(isErrorResult(fo)&&isRouteErrorResponse(fo.error)&&fo.error.status===404){Gr=null,qo(Dr,{matches:_o.matches,loaderData:{},errors:{[po]:fo.error}});return}}so=_o.matches||so,Qr=_o.pendingActionResult,$r=getLoadingNavigation(Dr,kr.submission),io=!1,eo.active=!1,to=createClientSideRequest(I.history,to.url,to.signal)}let{shortCircuited:ro,matches:lo,loaderData:uo,errors:Mo}=await ks(to,Dr,so,eo.active,$r,kr&&kr.submission,kr&&kr.fetcherSubmission,kr&&kr.replace,kr&&kr.initialHydration===!0,io,Qr);ro||(Gr=null,qo(Dr,_extends$3({matches:lo||so},getActionDataForCommit(Qr),{loaderData:uo,errors:Mo})))}async function Fs(Pr,Dr,kr,Ur,$r,so){so===void 0&&(so={}),ts();let io=getSubmittingNavigation(Dr,kr);if(vo({navigation:io},{flushSync:so.flushSync===!0}),$r){let Qr=await Qo(Ur,Dr.pathname,Pr.signal);if(Qr.type==="aborted")return{shortCircuited:!0};if(Qr.type==="error"){let ro=findNearestBoundary(Qr.partialMatches).route.id;return{matches:Qr.partialMatches,pendingActionResult:[ro,{type:ResultType.error,error:Qr.error}]}}else if(Qr.matches)Ur=Qr.matches;else{let{notFoundMatches:ro,error:lo,route:uo}=rs(Dr.pathname);return{matches:ro,pendingActionResult:[uo.id,{type:ResultType.error,error:lo}]}}}let eo,to=getTargetMatch(Ur,Dr);if(!to.route.action&&!to.route.lazy)eo={type:ResultType.error,error:getInternalRouterError(405,{method:Pr.method,pathname:Dr.pathname,routeId:to.route.id})};else if(eo=(await jo("action",Ar,Pr,[to],Ur,null))[to.route.id],Pr.signal.aborted)return{shortCircuited:!0};if(isRedirectResult(eo)){let Qr;return so&&so.replace!=null?Qr=so.replace:Qr=normalizeRedirectLocation(eo.response.headers.get("Location"),new URL(Pr.url),_r)===Ar.location.pathname+Ar.location.search,await Uo(Pr,eo,!0,{submission:kr,replace:Qr}),{shortCircuited:!0}}if(isDeferredResult(eo))throw getInternalRouterError(400,{type:"defer-action"});if(isErrorResult(eo)){let Qr=findNearestBoundary(Ur,to.route.id);return(so&&so.replace)!==!0&&(Or=Action.Push),{matches:Ur,pendingActionResult:[Qr.route.id,eo]}}return{matches:Ur,pendingActionResult:[to.route.id,eo]}}async function ks(Pr,Dr,kr,Ur,$r,so,io,eo,to,Qr,ro){let lo=$r||getLoadingNavigation(Dr,so),uo=so||io||getSubmissionFromNavigation(lo),Mo=!no&&(!gr.v7_partialHydration||!to);if(Ur){if(Mo){let go=ls(ro);vo(_extends$3({navigation:lo},go!==void 0?{actionData:go}:{}),{flushSync:Qr})}let co=await Qo(kr,Dr.pathname,Pr.signal);if(co.type==="aborted")return{shortCircuited:!0};if(co.type==="error"){let go=findNearestBoundary(co.partialMatches).route.id;return{matches:co.partialMatches,loaderData:{},errors:{[go]:co.error}}}else if(co.matches)kr=co.matches;else{let{error:go,notFoundMatches:zo,route:Wo}=rs(Dr.pathname);return{matches:zo,loaderData:{},errors:{[Wo.id]:go}}}}let _o=mr||dr,[po,fo]=getMatchesToLoad(I.history,Ar,kr,uo,Dr,gr.v7_partialHydration&&to===!0,gr.v7_skipActionErrorRevalidation,Eo,So,mo,Co,bo,yo,_o,_r,ro);if(os(co=>!(kr&&kr.some(go=>go.route.id===co))||po&&po.some(go=>go.route.id===co)),Ro=++Ao,po.length===0&&fo.length===0){let co=ps();return qo(Dr,_extends$3({matches:kr,loaderData:{},errors:ro&&isErrorResult(ro[1])?{[ro[0]]:ro[1].error}:null},getActionDataForCommit(ro),co?{fetchers:new Map(Ar.fetchers)}:{}),{flushSync:Qr}),{shortCircuited:!0}}if(Mo){let co={};if(!Ur){co.navigation=lo;let go=ls(ro);go!==void 0&&(co.actionData=go)}fo.length>0&&(co.fetchers=Os(fo)),vo(co,{flushSync:Qr})}fo.forEach(co=>{ko(co.key),co.controller&&ho.set(co.key,co.controller)});let Bo=()=>fo.forEach(co=>ko(co.key));Gr&&Gr.signal.addEventListener("abort",Bo);let{loaderResults:Go,fetcherResults:To}=await us(Ar,kr,po,fo,Pr);if(Pr.signal.aborted)return{shortCircuited:!0};Gr&&Gr.signal.removeEventListener("abort",Bo),fo.forEach(co=>ho.delete(co.key));let Io=findRedirect(Go);if(Io)return await Uo(Pr,Io.result,!0,{replace:eo}),{shortCircuited:!0};if(Io=findRedirect(To),Io)return yo.add(Io.key),await Uo(Pr,Io.result,!0,{replace:eo}),{shortCircuited:!0};let{loaderData:ss,errors:Vo}=processLoaderData(Ar,kr,Go,ro,fo,To,Oo);Oo.forEach((co,go)=>{co.subscribe(zo=>{(zo||co.done)&&Oo.delete(go)})}),gr.v7_partialHydration&&to&&Ar.errors&&(Vo=_extends$3({},Ar.errors,Vo));let $o=ps(),Zo=ms(Ro),es=$o||Zo||fo.length>0;return _extends$3({matches:kr,loaderData:ss,errors:Vo},es?{fetchers:new Map(Ar.fetchers)}:{})}function ls(Pr){if(Pr&&!isErrorResult(Pr[1]))return{[Pr[0]]:Pr[1].data};if(Ar.actionData)return Object.keys(Ar.actionData).length===0?null:Ar.actionData}function Os(Pr){return Pr.forEach(Dr=>{let kr=Ar.fetchers.get(Dr.key),Ur=getLoadingFetcher(void 0,kr?kr.data:void 0);Ar.fetchers.set(Dr.key,Ur)}),new Map(Ar.fetchers)}function Ns(Pr,Dr,kr,Ur){if(rr)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");ko(Pr);let $r=(Ur&&Ur.flushSync)===!0,so=mr||dr,io=normalizeTo(Ar.location,Ar.matches,_r,gr.v7_prependBasename,kr,gr.v7_relativeSplatPath,Dr,Ur?.relative),eo=matchRoutes(so,io,_r),to=Yo(eo,so,io);if(to.active&&to.matches&&(eo=to.matches),!eo){Po(Pr,Dr,getInternalRouterError(404,{pathname:io}),{flushSync:$r});return}let{path:Qr,submission:ro,error:lo}=normalizeNavigateOptions(gr.v7_normalizeFormMethod,!0,io,Ur);if(lo){Po(Pr,Dr,lo,{flushSync:$r});return}let uo=getTargetMatch(eo,Qr),Mo=(Ur&&Ur.preventScrollReset)===!0;if(ro&&isMutationMethod(ro.formMethod)){Ls(Pr,Dr,Qr,uo,eo,to.active,$r,Mo,ro);return}bo.set(Pr,{routeId:Dr,path:Qr}),Us(Pr,Dr,Qr,uo,eo,to.active,$r,Mo,ro)}async function Ls(Pr,Dr,kr,Ur,$r,so,io,eo,to){ts(),bo.delete(Pr);function Qr(wo){if(!wo.route.action&&!wo.route.lazy){let Ho=getInternalRouterError(405,{method:to.formMethod,pathname:kr,routeId:Dr});return Po(Pr,Dr,Ho,{flushSync:io}),!0}return!1}if(!so&&Qr(Ur))return;let ro=Ar.fetchers.get(Pr);Fo(Pr,getSubmittingFetcher(to,ro),{flushSync:io});let lo=new AbortController,uo=createClientSideRequest(I.history,kr,lo.signal,to);if(so){let wo=await Qo($r,new URL(uo.url).pathname,uo.signal,Pr);if(wo.type==="aborted")return;if(wo.type==="error"){Po(Pr,Dr,wo.error,{flushSync:io});return}else if(wo.matches){if($r=wo.matches,Ur=getTargetMatch($r,kr),Qr(Ur))return}else{Po(Pr,Dr,getInternalRouterError(404,{pathname:kr}),{flushSync:io});return}}ho.set(Pr,lo);let Mo=Ao,po=(await jo("action",Ar,uo,[Ur],$r,Pr))[Ur.route.id];if(uo.signal.aborted){ho.get(Pr)===lo&&ho.delete(Pr);return}if(gr.v7_fetcherPersist&&Co.has(Pr)){if(isRedirectResult(po)||isErrorResult(po)){Fo(Pr,getDoneFetcher(void 0));return}}else{if(isRedirectResult(po))if(ho.delete(Pr),Ro>Mo){Fo(Pr,getDoneFetcher(void 0));return}else return yo.add(Pr),Fo(Pr,getLoadingFetcher(to)),Uo(uo,po,!1,{fetcherSubmission:to,preventScrollReset:eo});if(isErrorResult(po)){Po(Pr,Dr,po.error);return}}if(isDeferredResult(po))throw getInternalRouterError(400,{type:"defer-action"});let fo=Ar.navigation.location||Ar.location,Bo=createClientSideRequest(I.history,fo,lo.signal),Go=mr||dr,To=Ar.navigation.state!=="idle"?matchRoutes(Go,Ar.navigation.location,_r):Ar.matches;invariant(To,"Didn't find any matches after fetcher action");let Io=++Ao;xo.set(Pr,Io);let ss=getLoadingFetcher(to,po.data);Ar.fetchers.set(Pr,ss);let[Vo,$o]=getMatchesToLoad(I.history,Ar,To,to,fo,!1,gr.v7_skipActionErrorRevalidation,Eo,So,mo,Co,bo,yo,Go,_r,[Ur.route.id,po]);$o.filter(wo=>wo.key!==Pr).forEach(wo=>{let Ho=wo.key,xs=Ar.fetchers.get(Ho),Gs=getLoadingFetcher(void 0,xs?xs.data:void 0);Ar.fetchers.set(Ho,Gs),ko(Ho),wo.controller&&ho.set(Ho,wo.controller)}),vo({fetchers:new Map(Ar.fetchers)});let Zo=()=>$o.forEach(wo=>ko(wo.key));lo.signal.addEventListener("abort",Zo);let{loaderResults:es,fetcherResults:co}=await us(Ar,To,Vo,$o,Bo);if(lo.signal.aborted)return;lo.signal.removeEventListener("abort",Zo),xo.delete(Pr),ho.delete(Pr),$o.forEach(wo=>ho.delete(wo.key));let go=findRedirect(es);if(go)return Uo(Bo,go.result,!1,{preventScrollReset:eo});if(go=findRedirect(co),go)return yo.add(go.key),Uo(Bo,go.result,!1,{preventScrollReset:eo});let{loaderData:zo,errors:Wo}=processLoaderData(Ar,To,es,void 0,$o,co,Oo);if(Ar.fetchers.has(Pr)){let wo=getDoneFetcher(po.data);Ar.fetchers.set(Pr,wo)}ms(Io),Ar.navigation.state==="loading"&&Io>Ro?(invariant(Or,"Expected pending action"),Gr&&Gr.abort(),qo(Ar.navigation.location,{matches:To,loaderData:zo,errors:Wo,fetchers:new Map(Ar.fetchers)})):(vo({errors:Wo,loaderData:mergeLoaderData(Ar.loaderData,zo,To,Wo),fetchers:new Map(Ar.fetchers)}),Eo=!1)}async function Us(Pr,Dr,kr,Ur,$r,so,io,eo,to){let Qr=Ar.fetchers.get(Pr);Fo(Pr,getLoadingFetcher(to,Qr?Qr.data:void 0),{flushSync:io});let ro=new AbortController,lo=createClientSideRequest(I.history,kr,ro.signal);if(so){let po=await Qo($r,new URL(lo.url).pathname,lo.signal,Pr);if(po.type==="aborted")return;if(po.type==="error"){Po(Pr,Dr,po.error,{flushSync:io});return}else if(po.matches)$r=po.matches,Ur=getTargetMatch($r,kr);else{Po(Pr,Dr,getInternalRouterError(404,{pathname:kr}),{flushSync:io});return}}ho.set(Pr,ro);let uo=Ao,_o=(await jo("loader",Ar,lo,[Ur],$r,Pr))[Ur.route.id];if(isDeferredResult(_o)&&(_o=await resolveDeferredData(_o,lo.signal,!0)||_o),ho.get(Pr)===ro&&ho.delete(Pr),!lo.signal.aborted){if(Co.has(Pr)){Fo(Pr,getDoneFetcher(void 0));return}if(isRedirectResult(_o))if(Ro>uo){Fo(Pr,getDoneFetcher(void 0));return}else{yo.add(Pr),await Uo(lo,_o,!1,{preventScrollReset:eo});return}if(isErrorResult(_o)){Po(Pr,Dr,_o.error);return}invariant(!isDeferredResult(_o),"Unhandled fetcher deferred data"),Fo(Pr,getDoneFetcher(_o.data))}}async function Uo(Pr,Dr,kr,Ur){let{submission:$r,fetcherSubmission:so,preventScrollReset:io,replace:eo}=Ur===void 0?{}:Ur;Dr.response.headers.has("X-Remix-Revalidate")&&(Eo=!0);let to=Dr.response.headers.get("Location");invariant(to,"Expected a Location header on the redirect Response"),to=normalizeRedirectLocation(to,new URL(Pr.url),_r);let Qr=createLocation(Ar.location,to,{_isRedirect:!0});if(tr){let po=!1;if(Dr.response.headers.has("X-Remix-Reload-Document"))po=!0;else if(ABSOLUTE_URL_REGEX.test(to)){const fo=I.history.createURL(to);po=fo.origin!==B.location.origin||stripBasename(fo.pathname,_r)==null}if(po){eo?B.location.replace(to):B.location.assign(to);return}}Gr=null;let ro=eo===!0||Dr.response.headers.has("X-Remix-Replace")?Action.Replace:Action.Push,{formMethod:lo,formAction:uo,formEncType:Mo}=Ar.navigation;!$r&&!so&&lo&&uo&&Mo&&($r=getSubmissionFromNavigation(Ar.navigation));let _o=$r||so;if(redirectPreserveMethodStatusCodes.has(Dr.response.status)&&_o&&isMutationMethod(_o.formMethod))await Lo(ro,Qr,{submission:_extends$3({},_o,{formAction:to}),preventScrollReset:io||Jr,enableViewTransition:kr?oo:void 0});else{let po=getLoadingNavigation(Qr,$r);await Lo(ro,Qr,{overrideNavigation:po,fetcherSubmission:so,preventScrollReset:io||Jr,enableViewTransition:kr?oo:void 0})}}async function jo(Pr,Dr,kr,Ur,$r,so){let io,eo={};try{io=await callDataStrategyImpl(hr,Pr,Dr,kr,Ur,$r,so,lr,ir)}catch(to){return Ur.forEach(Qr=>{eo[Qr.route.id]={type:ResultType.error,error:to}}),eo}for(let[to,Qr]of Object.entries(io))if(isRedirectDataStrategyResultResult(Qr)){let ro=Qr.result;eo[to]={type:ResultType.redirect,response:normalizeRelativeRoutingRedirectResponse(ro,kr,to,$r,_r,gr.v7_relativeSplatPath)}}else eo[to]=await convertDataStrategyResultToDataResult(Qr);return eo}async function us(Pr,Dr,kr,Ur,$r){let so=Pr.matches,io=jo("loader",Pr,$r,kr,Dr,null),eo=Promise.all(Ur.map(async ro=>{if(ro.matches&&ro.match&&ro.controller){let uo=(await jo("loader",Pr,createClientSideRequest(I.history,ro.path,ro.controller.signal),[ro.match],ro.matches,ro.key))[ro.match.route.id];return{[ro.key]:uo}}else return Promise.resolve({[ro.key]:{type:ResultType.error,error:getInternalRouterError(404,{pathname:ro.path})}})})),to=await io,Qr=(await eo).reduce((ro,lo)=>Object.assign(ro,lo),{});return await Promise.all([resolveNavigationDeferredResults(Dr,to,$r.signal,so,Pr.loaderData),resolveFetcherDeferredResults(Dr,Qr,Ur)]),{loaderResults:to,fetcherResults:Qr}}function ts(){Eo=!0,So.push(...os()),bo.forEach((Pr,Dr)=>{ho.has(Dr)&&mo.add(Dr),ko(Dr)})}function Fo(Pr,Dr,kr){kr===void 0&&(kr={}),Ar.fetchers.set(Pr,Dr),vo({fetchers:new Map(Ar.fetchers)},{flushSync:(kr&&kr.flushSync)===!0})}function Po(Pr,Dr,kr,Ur){Ur===void 0&&(Ur={});let $r=findNearestBoundary(Ar.matches,Dr);Xo(Pr),vo({errors:{[$r.route.id]:kr},fetchers:new Map(Ar.fetchers)},{flushSync:(Ur&&Ur.flushSync)===!0})}function ds(Pr){return Do.set(Pr,(Do.get(Pr)||0)+1),Co.has(Pr)&&Co.delete(Pr),Ar.fetchers.get(Pr)||IDLE_FETCHER}function Xo(Pr){let Dr=Ar.fetchers.get(Pr);ho.has(Pr)&&!(Dr&&Dr.state==="loading"&&xo.has(Pr))&&ko(Pr),bo.delete(Pr),xo.delete(Pr),yo.delete(Pr),gr.v7_fetcherPersist&&Co.delete(Pr),mo.delete(Pr),Ar.fetchers.delete(Pr)}function $s(Pr){let Dr=(Do.get(Pr)||0)-1;Dr<=0?(Do.delete(Pr),Co.add(Pr),gr.v7_fetcherPersist||Xo(Pr)):Do.set(Pr,Dr),vo({fetchers:new Map(Ar.fetchers)})}function ko(Pr){let Dr=ho.get(Pr);Dr&&(Dr.abort(),ho.delete(Pr))}function cs(Pr){for(let Dr of Pr){let kr=ds(Dr),Ur=getDoneFetcher(kr.data);Ar.fetchers.set(Dr,Ur)}}function ps(){let Pr=[],Dr=!1;for(let kr of yo){let Ur=Ar.fetchers.get(kr);invariant(Ur,"Expected fetcher: "+kr),Ur.state==="loading"&&(yo.delete(kr),Pr.push(kr),Dr=!0)}return cs(Pr),Dr}function ms(Pr){let Dr=[];for(let[kr,Ur]of xo)if(Ur<Pr){let $r=Ar.fetchers.get(kr);invariant($r,"Expected fetcher: "+kr),$r.state==="loading"&&(ko(kr),xo.delete(kr),Dr.push(kr))}return cs(Dr),Dr.length>0}function qs(Pr,Dr){let kr=Ar.blockers.get(Pr)||IDLE_BLOCKER;return No.get(Pr)!==Dr&&No.set(Pr,Dr),kr}function _s(Pr){Ar.blockers.delete(Pr),No.delete(Pr)}function Jo(Pr,Dr){let kr=Ar.blockers.get(Pr)||IDLE_BLOCKER;invariant(kr.state==="unblocked"&&Dr.state==="blocked"||kr.state==="blocked"&&Dr.state==="blocked"||kr.state==="blocked"&&Dr.state==="proceeding"||kr.state==="blocked"&&Dr.state==="unblocked"||kr.state==="proceeding"&&Dr.state==="unblocked","Invalid blocker state transition: "+kr.state+" -> "+Dr.state);let Ur=new Map(Ar.blockers);Ur.set(Pr,Dr),vo({blockers:Ur})}function hs(Pr){let{currentLocation:Dr,nextLocation:kr,historyAction:Ur}=Pr;if(No.size===0)return;No.size>1&&warning(!1,"A router only supports one blocker at a time");let $r=Array.from(No.entries()),[so,io]=$r[$r.length-1],eo=Ar.blockers.get(so);if(!(eo&&eo.state==="proceeding")&&io({currentLocation:Dr,nextLocation:kr,historyAction:Ur}))return so}function rs(Pr){let Dr=getInternalRouterError(404,{pathname:Pr}),kr=mr||dr,{matches:Ur,route:$r}=getShortCircuitMatches(kr);return os(),{notFoundMatches:Ur,route:$r,error:Dr}}function os(Pr){let Dr=[];return Oo.forEach((kr,Ur)=>{(!Pr||Pr(Ur))&&(kr.cancel(),Dr.push(Ur),Oo.delete(Ur))}),Dr}function Bs(Pr,Dr,kr){if(Sr=Pr,Ir=Dr,vr=kr||null,!Mr&&Ar.navigation===IDLE_NAVIGATION){Mr=!0;let Ur=Es(Ar.location,Ar.matches);Ur!=null&&vo({restoreScrollPosition:Ur})}return()=>{Sr=null,Ir=null,vr=null}}function gs(Pr,Dr){return vr&&vr(Pr,Dr.map(Ur=>convertRouteMatchToUiMatch(Ur,Ar.loaderData)))||Pr.key}function zs(Pr,Dr){if(Sr&&Ir){let kr=gs(Pr,Dr);Sr[kr]=Ir()}}function Es(Pr,Dr){if(Sr){let kr=gs(Pr,Dr),Ur=Sr[kr];if(typeof Ur=="number")return Ur}return null}function Yo(Pr,Dr,kr){if(fr)if(Pr){if(Object.keys(Pr[0].params).length>0)return{active:!0,matches:matchRoutesImpl(Dr,kr,_r,!0)}}else return{active:!0,matches:matchRoutesImpl(Dr,kr,_r,!0)||[]};return{active:!1,matches:null}}async function Qo(Pr,Dr,kr,Ur){if(!fr)return{type:"success",matches:Pr};let $r=Pr;for(;;){let so=mr==null,io=mr||dr,eo=lr;try{await fr({signal:kr,path:Dr,matches:$r,fetcherKey:Ur,patch:(ro,lo)=>{kr.aborted||patchRoutesImpl(ro,lo,io,eo,ir)}})}catch(ro){return{type:"error",error:ro,partialMatches:$r}}finally{so&&!kr.aborted&&(dr=[...dr])}if(kr.aborted)return{type:"aborted"};let to=matchRoutes(io,Dr,_r);if(to)return{type:"success",matches:to};let Qr=matchRoutesImpl(io,Dr,_r,!0);if(!Qr||$r.length===Qr.length&&$r.every((ro,lo)=>ro.route.id===Qr[lo].route.id))return{type:"success",matches:null};$r=Qr}}function Hs(Pr){lr={},mr=convertRoutesToDataRoutes(Pr,ir,void 0,lr)}function js(Pr,Dr){let kr=mr==null;patchRoutesImpl(Pr,Dr,mr||dr,lr,ir),kr&&(dr=[...dr],vo({}))}return Lr={get basename(){return _r},get future(){return gr},get state(){return Ar},get routes(){return dr},get window(){return B},initialize:Ps,subscribe:Rs,enableScrollRestoration:Bs,navigate:is,fetch:Ns,revalidate:Ds,createHref:Pr=>I.history.createHref(Pr),encodeLocation:Pr=>I.history.encodeLocation(Pr),getFetcher:ds,deleteFetcher:$s,dispose:Ts,getBlocker:qs,deleteBlocker:_s,patchRoutes:js,_internalFetchControllers:ho,_internalActiveDeferreds:Oo,_internalSetRoutes:Hs},Lr}function isSubmissionNavigation(I){return I!=null&&("formData"in I&&I.formData!=null||"body"in I&&I.body!==void 0)}function normalizeTo(I,B,tr,rr,ir,lr,dr,mr){let _r,hr;if(dr){_r=[];for(let gr of B)if(_r.push(gr),gr.route.id===dr){hr=gr;break}}else _r=B,hr=B[B.length-1];let fr=resolveTo(ir||".",getResolveToMatches(_r,lr),stripBasename(I.pathname,tr)||I.pathname,mr==="path");if(ir==null&&(fr.search=I.search,fr.hash=I.hash),(ir==null||ir===""||ir===".")&&hr){let gr=hasNakedIndexQuery(fr.search);if(hr.route.index&&!gr)fr.search=fr.search?fr.search.replace(/^\?/,"?index&"):"?index";else if(!hr.route.index&&gr){let xr=new URLSearchParams(fr.search),wr=xr.getAll("index");xr.delete("index"),wr.filter(vr=>vr).forEach(vr=>xr.append("index",vr));let Sr=xr.toString();fr.search=Sr?"?"+Sr:""}}return rr&&tr!=="/"&&(fr.pathname=fr.pathname==="/"?tr:joinPaths([tr,fr.pathname])),createPath(fr)}function normalizeNavigateOptions(I,B,tr,rr){if(!rr||!isSubmissionNavigation(rr))return{path:tr};if(rr.formMethod&&!isValidMethod(rr.formMethod))return{path:tr,error:getInternalRouterError(405,{method:rr.formMethod})};let ir=()=>({path:tr,error:getInternalRouterError(400,{type:"invalid-body"})}),lr=rr.formMethod||"get",dr=I?lr.toUpperCase():lr.toLowerCase(),mr=stripHashFromPath(tr);if(rr.body!==void 0){if(rr.formEncType==="text/plain"){if(!isMutationMethod(dr))return ir();let xr=typeof rr.body=="string"?rr.body:rr.body instanceof FormData||rr.body instanceof URLSearchParams?Array.from(rr.body.entries()).reduce((wr,Sr)=>{let[vr,Ir]=Sr;return""+wr+vr+"="+Ir+`
|
|
5
|
-
`},""):String(rr.body);return{path:tr,submission:{formMethod:dr,formAction:mr,formEncType:rr.formEncType,formData:void 0,json:void 0,text:xr}}}else if(rr.formEncType==="application/json"){if(!isMutationMethod(dr))return ir();try{let xr=typeof rr.body=="string"?JSON.parse(rr.body):rr.body;return{path:tr,submission:{formMethod:dr,formAction:mr,formEncType:rr.formEncType,formData:void 0,json:xr,text:void 0}}}catch{return ir()}}}invariant(typeof FormData=="function","FormData is not available in this environment");let _r,hr;if(rr.formData)_r=convertFormDataToSearchParams(rr.formData),hr=rr.formData;else if(rr.body instanceof FormData)_r=convertFormDataToSearchParams(rr.body),hr=rr.body;else if(rr.body instanceof URLSearchParams)_r=rr.body,hr=convertSearchParamsToFormData(_r);else if(rr.body==null)_r=new URLSearchParams,hr=new FormData;else try{_r=new URLSearchParams(rr.body),hr=convertSearchParamsToFormData(_r)}catch{return ir()}let fr={formMethod:dr,formAction:mr,formEncType:rr&&rr.formEncType||"application/x-www-form-urlencoded",formData:hr,json:void 0,text:void 0};if(isMutationMethod(fr.formMethod))return{path:tr,submission:fr};let gr=parsePath(tr);return B&&gr.search&&hasNakedIndexQuery(gr.search)&&_r.append("index",""),gr.search="?"+_r,{path:createPath(gr),submission:fr}}function getLoaderMatchesUntilBoundary(I,B,tr){tr===void 0&&(tr=!1);let rr=I.findIndex(ir=>ir.route.id===B);return rr>=0?I.slice(0,tr?rr+1:rr):I}function getMatchesToLoad(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr,xr,wr,Sr,vr){let Ir=vr?isErrorResult(vr[1])?vr[1].error:vr[1].data:void 0,Mr=I.createURL(B.location),yr=I.createURL(ir),br=tr;lr&&B.errors?br=getLoaderMatchesUntilBoundary(tr,Object.keys(B.errors)[0],!0):vr&&isErrorResult(vr[1])&&(br=getLoaderMatchesUntilBoundary(tr,vr[0]));let Cr=vr?vr[1].statusCode:void 0,Fr=dr&&Cr&&Cr>=400,Lr=br.filter((Or,Jr)=>{let{route:Gr}=Or;if(Gr.lazy)return!0;if(Gr.loader==null)return!1;if(lr)return shouldLoadRouteOnHydration(Gr,B.loaderData,B.errors);if(isNewLoader(B.loaderData,B.matches[Jr],Or)||_r.some(ao=>ao===Or.route.id))return!0;let oo=B.matches[Jr],zr=Or;return shouldRevalidateLoader(Or,_extends$3({currentUrl:Mr,currentParams:oo.params,nextUrl:yr,nextParams:zr.params},rr,{actionResult:Ir,actionStatus:Cr,defaultShouldRevalidate:Fr?!1:mr||Mr.pathname+Mr.search===yr.pathname+yr.search||Mr.search!==yr.search||isNewRouteInstance(oo,zr)}))}),Ar=[];return gr.forEach((Or,Jr)=>{if(lr||!tr.some(no=>no.route.id===Or.routeId)||fr.has(Jr))return;let Gr=matchRoutes(wr,Or.path,Sr);if(!Gr){Ar.push({key:Jr,routeId:Or.routeId,path:Or.path,matches:null,match:null,controller:null});return}let oo=B.fetchers.get(Jr),zr=getTargetMatch(Gr,Or.path),ao=!1;xr.has(Jr)?ao=!1:hr.has(Jr)?(hr.delete(Jr),ao=!0):oo&&oo.state!=="idle"&&oo.data===void 0?ao=mr:ao=shouldRevalidateLoader(zr,_extends$3({currentUrl:Mr,currentParams:B.matches[B.matches.length-1].params,nextUrl:yr,nextParams:tr[tr.length-1].params},rr,{actionResult:Ir,actionStatus:Cr,defaultShouldRevalidate:Fr?!1:mr})),ao&&Ar.push({key:Jr,routeId:Or.routeId,path:Or.path,matches:Gr,match:zr,controller:new AbortController})}),[Lr,Ar]}function shouldLoadRouteOnHydration(I,B,tr){if(I.lazy)return!0;if(!I.loader)return!1;let rr=B!=null&&B[I.id]!==void 0,ir=tr!=null&&tr[I.id]!==void 0;return!rr&&ir?!1:typeof I.loader=="function"&&I.loader.hydrate===!0?!0:!rr&&!ir}function isNewLoader(I,B,tr){let rr=!B||tr.route.id!==B.route.id,ir=I[tr.route.id]===void 0;return rr||ir}function isNewRouteInstance(I,B){let tr=I.route.path;return I.pathname!==B.pathname||tr!=null&&tr.endsWith("*")&&I.params["*"]!==B.params["*"]}function shouldRevalidateLoader(I,B){if(I.route.shouldRevalidate){let tr=I.route.shouldRevalidate(B);if(typeof tr=="boolean")return tr}return B.defaultShouldRevalidate}function patchRoutesImpl(I,B,tr,rr,ir){var lr;let dr;if(I){let hr=rr[I];invariant(hr,"No route found to patch children into: routeId = "+I),hr.children||(hr.children=[]),dr=hr.children}else dr=tr;let mr=B.filter(hr=>!dr.some(fr=>isSameRoute(hr,fr))),_r=convertRoutesToDataRoutes(mr,ir,[I||"_","patch",String(((lr=dr)==null?void 0:lr.length)||"0")],rr);dr.push(..._r)}function isSameRoute(I,B){return"id"in I&&"id"in B&&I.id===B.id?!0:I.index===B.index&&I.path===B.path&&I.caseSensitive===B.caseSensitive?(!I.children||I.children.length===0)&&(!B.children||B.children.length===0)?!0:I.children.every((tr,rr)=>{var ir;return(ir=B.children)==null?void 0:ir.some(lr=>isSameRoute(tr,lr))}):!1}async function loadLazyRouteModule(I,B,tr){if(!I.lazy)return;let rr=await I.lazy();if(!I.lazy)return;let ir=tr[I.id];invariant(ir,"No route found in manifest");let lr={};for(let dr in rr){let _r=ir[dr]!==void 0&&dr!=="hasErrorBoundary";warning(!_r,'Route "'+ir.id+'" has a static property "'+dr+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+dr+'" will be ignored.')),!_r&&!immutableRouteKeys.has(dr)&&(lr[dr]=rr[dr])}Object.assign(ir,lr),Object.assign(ir,_extends$3({},B(ir),{lazy:void 0}))}async function defaultDataStrategy(I){let{matches:B}=I,tr=B.filter(ir=>ir.shouldLoad);return(await Promise.all(tr.map(ir=>ir.resolve()))).reduce((ir,lr,dr)=>Object.assign(ir,{[tr[dr].route.id]:lr}),{})}async function callDataStrategyImpl(I,B,tr,rr,ir,lr,dr,mr,_r,hr){let fr=lr.map(wr=>wr.route.lazy?loadLazyRouteModule(wr.route,_r,mr):void 0),gr=lr.map((wr,Sr)=>{let vr=fr[Sr],Ir=ir.some(yr=>yr.route.id===wr.route.id);return _extends$3({},wr,{shouldLoad:Ir,resolve:async yr=>(yr&&rr.method==="GET"&&(wr.route.lazy||wr.route.loader)&&(Ir=!0),Ir?callLoaderOrAction(B,rr,wr,vr,yr,hr):Promise.resolve({type:ResultType.data,result:void 0}))})}),xr=await I({matches:gr,request:rr,params:lr[0].params,fetcherKey:dr,context:hr});try{await Promise.all(fr)}catch{}return xr}async function callLoaderOrAction(I,B,tr,rr,ir,lr){let dr,mr,_r=hr=>{let fr,gr=new Promise((Sr,vr)=>fr=vr);mr=()=>fr(),B.signal.addEventListener("abort",mr);let xr=Sr=>typeof hr!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+I+'" [routeId: '+tr.route.id+"]"))):hr({request:B,params:tr.params,context:lr},...Sr!==void 0?[Sr]:[]),wr=(async()=>{try{return{type:"data",result:await(ir?ir(vr=>xr(vr)):xr())}}catch(Sr){return{type:"error",result:Sr}}})();return Promise.race([wr,gr])};try{let hr=tr.route[I];if(rr)if(hr){let fr,[gr]=await Promise.all([_r(hr).catch(xr=>{fr=xr}),rr]);if(fr!==void 0)throw fr;dr=gr}else if(await rr,hr=tr.route[I],hr)dr=await _r(hr);else if(I==="action"){let fr=new URL(B.url),gr=fr.pathname+fr.search;throw getInternalRouterError(405,{method:B.method,pathname:gr,routeId:tr.route.id})}else return{type:ResultType.data,result:void 0};else if(hr)dr=await _r(hr);else{let fr=new URL(B.url),gr=fr.pathname+fr.search;throw getInternalRouterError(404,{pathname:gr})}invariant(dr.result!==void 0,"You defined "+(I==="action"?"an action":"a loader")+" for route "+('"'+tr.route.id+"\" but didn't return anything from your `"+I+"` ")+"function. Please return a value or `null`.")}catch(hr){return{type:ResultType.error,result:hr}}finally{mr&&B.signal.removeEventListener("abort",mr)}return dr}async function convertDataStrategyResultToDataResult(I){let{result:B,type:tr}=I;if(isResponse(B)){let gr;try{let xr=B.headers.get("Content-Type");xr&&/\bapplication\/json\b/.test(xr)?B.body==null?gr=null:gr=await B.json():gr=await B.text()}catch(xr){return{type:ResultType.error,error:xr}}return tr===ResultType.error?{type:ResultType.error,error:new ErrorResponseImpl(B.status,B.statusText,gr),statusCode:B.status,headers:B.headers}:{type:ResultType.data,data:gr,statusCode:B.status,headers:B.headers}}if(tr===ResultType.error){if(isDataWithResponseInit(B)){var rr,ir;if(B.data instanceof Error){var lr,dr;return{type:ResultType.error,error:B.data,statusCode:(lr=B.init)==null?void 0:lr.status,headers:(dr=B.init)!=null&&dr.headers?new Headers(B.init.headers):void 0}}return{type:ResultType.error,error:new ErrorResponseImpl(((rr=B.init)==null?void 0:rr.status)||500,void 0,B.data),statusCode:isRouteErrorResponse(B)?B.status:void 0,headers:(ir=B.init)!=null&&ir.headers?new Headers(B.init.headers):void 0}}return{type:ResultType.error,error:B,statusCode:isRouteErrorResponse(B)?B.status:void 0}}if(isDeferredData(B)){var mr,_r;return{type:ResultType.deferred,deferredData:B,statusCode:(mr=B.init)==null?void 0:mr.status,headers:((_r=B.init)==null?void 0:_r.headers)&&new Headers(B.init.headers)}}if(isDataWithResponseInit(B)){var hr,fr;return{type:ResultType.data,data:B.data,statusCode:(hr=B.init)==null?void 0:hr.status,headers:(fr=B.init)!=null&&fr.headers?new Headers(B.init.headers):void 0}}return{type:ResultType.data,data:B}}function normalizeRelativeRoutingRedirectResponse(I,B,tr,rr,ir,lr){let dr=I.headers.get("Location");if(invariant(dr,"Redirects returned/thrown from loaders/actions must have a Location header"),!ABSOLUTE_URL_REGEX.test(dr)){let mr=rr.slice(0,rr.findIndex(_r=>_r.route.id===tr)+1);dr=normalizeTo(new URL(B.url),mr,ir,!0,dr,lr),I.headers.set("Location",dr)}return I}function normalizeRedirectLocation(I,B,tr){if(ABSOLUTE_URL_REGEX.test(I)){let rr=I,ir=rr.startsWith("//")?new URL(B.protocol+rr):new URL(rr),lr=stripBasename(ir.pathname,tr)!=null;if(ir.origin===B.origin&&lr)return ir.pathname+ir.search+ir.hash}return I}function createClientSideRequest(I,B,tr,rr){let ir=I.createURL(stripHashFromPath(B)).toString(),lr={signal:tr};if(rr&&isMutationMethod(rr.formMethod)){let{formMethod:dr,formEncType:mr}=rr;lr.method=dr.toUpperCase(),mr==="application/json"?(lr.headers=new Headers({"Content-Type":mr}),lr.body=JSON.stringify(rr.json)):mr==="text/plain"?lr.body=rr.text:mr==="application/x-www-form-urlencoded"&&rr.formData?lr.body=convertFormDataToSearchParams(rr.formData):lr.body=rr.formData}return new Request(ir,lr)}function convertFormDataToSearchParams(I){let B=new URLSearchParams;for(let[tr,rr]of I.entries())B.append(tr,typeof rr=="string"?rr:rr.name);return B}function convertSearchParamsToFormData(I){let B=new FormData;for(let[tr,rr]of I.entries())B.append(tr,rr);return B}function processRouteLoaderData(I,B,tr,rr,ir){let lr={},dr=null,mr,_r=!1,hr={},fr=tr&&isErrorResult(tr[1])?tr[1].error:void 0;return I.forEach(gr=>{if(!(gr.route.id in B))return;let xr=gr.route.id,wr=B[xr];if(invariant(!isRedirectResult(wr),"Cannot handle redirect results in processLoaderData"),isErrorResult(wr)){let Sr=wr.error;fr!==void 0&&(Sr=fr,fr=void 0),dr=dr||{};{let vr=findNearestBoundary(I,xr);dr[vr.route.id]==null&&(dr[vr.route.id]=Sr)}lr[xr]=void 0,_r||(_r=!0,mr=isRouteErrorResponse(wr.error)?wr.error.status:500),wr.headers&&(hr[xr]=wr.headers)}else isDeferredResult(wr)?(rr.set(xr,wr.deferredData),lr[xr]=wr.deferredData.data,wr.statusCode!=null&&wr.statusCode!==200&&!_r&&(mr=wr.statusCode),wr.headers&&(hr[xr]=wr.headers)):(lr[xr]=wr.data,wr.statusCode&&wr.statusCode!==200&&!_r&&(mr=wr.statusCode),wr.headers&&(hr[xr]=wr.headers))}),fr!==void 0&&tr&&(dr={[tr[0]]:fr},lr[tr[0]]=void 0),{loaderData:lr,errors:dr,statusCode:mr||200,loaderHeaders:hr}}function processLoaderData(I,B,tr,rr,ir,lr,dr){let{loaderData:mr,errors:_r}=processRouteLoaderData(B,tr,rr,dr);return ir.forEach(hr=>{let{key:fr,match:gr,controller:xr}=hr,wr=lr[fr];if(invariant(wr,"Did not find corresponding fetcher result"),!(xr&&xr.signal.aborted))if(isErrorResult(wr)){let Sr=findNearestBoundary(I.matches,gr?.route.id);_r&&_r[Sr.route.id]||(_r=_extends$3({},_r,{[Sr.route.id]:wr.error})),I.fetchers.delete(fr)}else if(isRedirectResult(wr))invariant(!1,"Unhandled fetcher revalidation redirect");else if(isDeferredResult(wr))invariant(!1,"Unhandled fetcher deferred data");else{let Sr=getDoneFetcher(wr.data);I.fetchers.set(fr,Sr)}}),{loaderData:mr,errors:_r}}function mergeLoaderData(I,B,tr,rr){let ir=_extends$3({},B);for(let lr of tr){let dr=lr.route.id;if(B.hasOwnProperty(dr)?B[dr]!==void 0&&(ir[dr]=B[dr]):I[dr]!==void 0&&lr.route.loader&&(ir[dr]=I[dr]),rr&&rr.hasOwnProperty(dr))break}return ir}function getActionDataForCommit(I){return I?isErrorResult(I[1])?{actionData:{}}:{actionData:{[I[0]]:I[1].data}}:{}}function findNearestBoundary(I,B){return(B?I.slice(0,I.findIndex(rr=>rr.route.id===B)+1):[...I]).reverse().find(rr=>rr.route.hasErrorBoundary===!0)||I[0]}function getShortCircuitMatches(I){let B=I.length===1?I[0]:I.find(tr=>tr.index||!tr.path||tr.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:B}],route:B}}function getInternalRouterError(I,B){let{pathname:tr,routeId:rr,method:ir,type:lr,message:dr}=B===void 0?{}:B,mr="Unknown Server Error",_r="Unknown @remix-run/router error";return I===400?(mr="Bad Request",ir&&tr&&rr?_r="You made a "+ir+' request to "'+tr+'" but '+('did not provide a `loader` for route "'+rr+'", ')+"so there is no way to handle the request.":lr==="defer-action"?_r="defer() is not supported in actions":lr==="invalid-body"&&(_r="Unable to encode submission body")):I===403?(mr="Forbidden",_r='Route "'+rr+'" does not match URL "'+tr+'"'):I===404?(mr="Not Found",_r='No route matches URL "'+tr+'"'):I===405&&(mr="Method Not Allowed",ir&&tr&&rr?_r="You made a "+ir.toUpperCase()+' request to "'+tr+'" but '+('did not provide an `action` for route "'+rr+'", ')+"so there is no way to handle the request.":ir&&(_r='Invalid request method "'+ir.toUpperCase()+'"')),new ErrorResponseImpl(I||500,mr,new Error(_r),!0)}function findRedirect(I){let B=Object.entries(I);for(let tr=B.length-1;tr>=0;tr--){let[rr,ir]=B[tr];if(isRedirectResult(ir))return{key:rr,result:ir}}}function stripHashFromPath(I){let B=typeof I=="string"?parsePath(I):I;return createPath(_extends$3({},B,{hash:""}))}function isHashChangeOnly(I,B){return I.pathname!==B.pathname||I.search!==B.search?!1:I.hash===""?B.hash!=="":I.hash===B.hash?!0:B.hash!==""}function isRedirectDataStrategyResultResult(I){return isResponse(I.result)&&redirectStatusCodes.has(I.result.status)}function isDeferredResult(I){return I.type===ResultType.deferred}function isErrorResult(I){return I.type===ResultType.error}function isRedirectResult(I){return(I&&I.type)===ResultType.redirect}function isDataWithResponseInit(I){return typeof I=="object"&&I!=null&&"type"in I&&"data"in I&&"init"in I&&I.type==="DataWithResponseInit"}function isDeferredData(I){let B=I;return B&&typeof B=="object"&&typeof B.data=="object"&&typeof B.subscribe=="function"&&typeof B.cancel=="function"&&typeof B.resolveData=="function"}function isResponse(I){return I!=null&&typeof I.status=="number"&&typeof I.statusText=="string"&&typeof I.headers=="object"&&typeof I.body<"u"}function isValidMethod(I){return validRequestMethods.has(I.toLowerCase())}function isMutationMethod(I){return validMutationMethods.has(I.toLowerCase())}async function resolveNavigationDeferredResults(I,B,tr,rr,ir){let lr=Object.entries(B);for(let dr=0;dr<lr.length;dr++){let[mr,_r]=lr[dr],hr=I.find(xr=>xr?.route.id===mr);if(!hr)continue;let fr=rr.find(xr=>xr.route.id===hr.route.id),gr=fr!=null&&!isNewRouteInstance(fr,hr)&&(ir&&ir[hr.route.id])!==void 0;isDeferredResult(_r)&&gr&&await resolveDeferredData(_r,tr,!1).then(xr=>{xr&&(B[mr]=xr)})}}async function resolveFetcherDeferredResults(I,B,tr){for(let rr=0;rr<tr.length;rr++){let{key:ir,routeId:lr,controller:dr}=tr[rr],mr=B[ir];I.find(hr=>hr?.route.id===lr)&&isDeferredResult(mr)&&(invariant(dr,"Expected an AbortController for revalidating fetcher deferred result"),await resolveDeferredData(mr,dr.signal,!0).then(hr=>{hr&&(B[ir]=hr)}))}}async function resolveDeferredData(I,B,tr){if(tr===void 0&&(tr=!1),!await I.deferredData.resolveData(B)){if(tr)try{return{type:ResultType.data,data:I.deferredData.unwrappedData}}catch(ir){return{type:ResultType.error,error:ir}}return{type:ResultType.data,data:I.deferredData.data}}}function hasNakedIndexQuery(I){return new URLSearchParams(I).getAll("index").some(B=>B==="")}function getTargetMatch(I,B){let tr=typeof B=="string"?parsePath(B).search:B.search;if(I[I.length-1].route.index&&hasNakedIndexQuery(tr||""))return I[I.length-1];let rr=getPathContributingMatches(I);return rr[rr.length-1]}function getSubmissionFromNavigation(I){let{formMethod:B,formAction:tr,formEncType:rr,text:ir,formData:lr,json:dr}=I;if(!(!B||!tr||!rr)){if(ir!=null)return{formMethod:B,formAction:tr,formEncType:rr,formData:void 0,json:void 0,text:ir};if(lr!=null)return{formMethod:B,formAction:tr,formEncType:rr,formData:lr,json:void 0,text:void 0};if(dr!==void 0)return{formMethod:B,formAction:tr,formEncType:rr,formData:void 0,json:dr,text:void 0}}}function getLoadingNavigation(I,B){return B?{state:"loading",location:I,formMethod:B.formMethod,formAction:B.formAction,formEncType:B.formEncType,formData:B.formData,json:B.json,text:B.text}:{state:"loading",location:I,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function getSubmittingNavigation(I,B){return{state:"submitting",location:I,formMethod:B.formMethod,formAction:B.formAction,formEncType:B.formEncType,formData:B.formData,json:B.json,text:B.text}}function getLoadingFetcher(I,B){return I?{state:"loading",formMethod:I.formMethod,formAction:I.formAction,formEncType:I.formEncType,formData:I.formData,json:I.json,text:I.text,data:B}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:B}}function getSubmittingFetcher(I,B){return{state:"submitting",formMethod:I.formMethod,formAction:I.formAction,formEncType:I.formEncType,formData:I.formData,json:I.json,text:I.text,data:B?B.data:void 0}}function getDoneFetcher(I){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:I}}function restoreAppliedTransitions(I,B){try{let tr=I.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);if(tr){let rr=JSON.parse(tr);for(let[ir,lr]of Object.entries(rr||{}))lr&&Array.isArray(lr)&&B.set(ir,new Set(lr||[]))}}catch{}}function persistAppliedTransitions(I,B){if(B.size>0){let tr={};for(let[rr,ir]of B)tr[rr]=[...ir];try{I.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY,JSON.stringify(tr))}catch(rr){warning(!1,"Failed to save applied view transitions in sessionStorage ("+rr+").")}}}function _extends$2(){return _extends$2=Object.assign?Object.assign.bind():function(I){for(var B=1;B<arguments.length;B++){var tr=arguments[B];for(var rr in tr)Object.prototype.hasOwnProperty.call(tr,rr)&&(I[rr]=tr[rr])}return I},_extends$2.apply(this,arguments)}const DataRouterContext=reactExports.createContext(null),DataRouterStateContext=reactExports.createContext(null),NavigationContext=reactExports.createContext(null),LocationContext=reactExports.createContext(null),RouteContext=reactExports.createContext({outlet:null,matches:[],isDataRoute:!1}),RouteErrorContext=reactExports.createContext(null);function useInRouterContext(){return reactExports.useContext(LocationContext)!=null}function useLocation(){return useInRouterContext()||invariant(!1),reactExports.useContext(LocationContext).location}function useNavigationType(){return reactExports.useContext(LocationContext).navigationType}function useIsomorphicLayoutEffect(I){reactExports.useContext(NavigationContext).static||reactExports.useLayoutEffect(I)}function useNavigate(){let{isDataRoute:I}=reactExports.useContext(RouteContext);return I?useNavigateStable():useNavigateUnstable()}function useNavigateUnstable(){useInRouterContext()||invariant(!1);let I=reactExports.useContext(DataRouterContext),{basename:B,future:tr,navigator:rr}=reactExports.useContext(NavigationContext),{matches:ir}=reactExports.useContext(RouteContext),{pathname:lr}=useLocation(),dr=JSON.stringify(getResolveToMatches(ir,tr.v7_relativeSplatPath)),mr=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{mr.current=!0}),reactExports.useCallback(function(hr,fr){if(fr===void 0&&(fr={}),!mr.current)return;if(typeof hr=="number"){rr.go(hr);return}let gr=resolveTo(hr,JSON.parse(dr),lr,fr.relative==="path");I==null&&B!=="/"&&(gr.pathname=gr.pathname==="/"?B:joinPaths([B,gr.pathname])),(fr.replace?rr.replace:rr.push)(gr,fr.state,fr)},[B,rr,dr,lr,I])}const OutletContext=reactExports.createContext(null);function useOutlet(I){let B=reactExports.useContext(RouteContext).outlet;return B&&reactExports.createElement(OutletContext.Provider,{value:I},B)}function useParams(){let{matches:I}=reactExports.useContext(RouteContext),B=I[I.length-1];return B?B.params:{}}function useRoutesImpl(I,B,tr,rr){useInRouterContext()||invariant(!1);let{navigator:ir}=reactExports.useContext(NavigationContext),{matches:lr}=reactExports.useContext(RouteContext),dr=lr[lr.length-1],mr=dr?dr.params:{};dr&&dr.pathname;let _r=dr?dr.pathnameBase:"/";dr&&dr.route;let hr=useLocation(),fr;fr=hr;let gr=fr.pathname||"/",xr=gr;if(_r!=="/"){let vr=_r.replace(/^\//,"").split("/");xr="/"+gr.replace(/^\//,"").split("/").slice(vr.length).join("/")}let wr=matchRoutes(I,{pathname:xr});return _renderMatches(wr&&wr.map(vr=>Object.assign({},vr,{params:Object.assign({},mr,vr.params),pathname:joinPaths([_r,ir.encodeLocation?ir.encodeLocation(vr.pathname).pathname:vr.pathname]),pathnameBase:vr.pathnameBase==="/"?_r:joinPaths([_r,ir.encodeLocation?ir.encodeLocation(vr.pathnameBase).pathname:vr.pathnameBase])})),lr,tr,rr)}function DefaultErrorComponent(){let I=useRouteError(),B=isRouteErrorResponse(I)?I.status+" "+I.statusText:I instanceof Error?I.message:JSON.stringify(I),tr=I instanceof Error?I.stack:null,ir={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("h2",null,"Unexpected Application Error!"),reactExports.createElement("h3",{style:{fontStyle:"italic"}},B),tr?reactExports.createElement("pre",{style:ir},tr):null,null)}const defaultErrorElement=reactExports.createElement(DefaultErrorComponent,null);class RenderErrorBoundary extends reactExports.Component{constructor(B){super(B),this.state={location:B.location,revalidation:B.revalidation,error:B.error}}static getDerivedStateFromError(B){return{error:B}}static getDerivedStateFromProps(B,tr){return tr.location!==B.location||tr.revalidation!=="idle"&&B.revalidation==="idle"?{error:B.error,location:B.location,revalidation:B.revalidation}:{error:B.error!==void 0?B.error:tr.error,location:tr.location,revalidation:B.revalidation||tr.revalidation}}componentDidCatch(B,tr){console.error("React Router caught the following error during render",B,tr)}render(){return this.state.error!==void 0?reactExports.createElement(RouteContext.Provider,{value:this.props.routeContext},reactExports.createElement(RouteErrorContext.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function RenderedRoute(I){let{routeContext:B,match:tr,children:rr}=I,ir=reactExports.useContext(DataRouterContext);return ir&&ir.static&&ir.staticContext&&(tr.route.errorElement||tr.route.ErrorBoundary)&&(ir.staticContext._deepestRenderedBoundaryId=tr.route.id),reactExports.createElement(RouteContext.Provider,{value:B},rr)}function _renderMatches(I,B,tr,rr){var ir;if(B===void 0&&(B=[]),tr===void 0&&(tr=null),rr===void 0&&(rr=null),I==null){var lr;if(!tr)return null;if(tr.errors)I=tr.matches;else if((lr=rr)!=null&&lr.v7_partialHydration&&B.length===0&&!tr.initialized&&tr.matches.length>0)I=tr.matches;else return null}let dr=I,mr=(ir=tr)==null?void 0:ir.errors;if(mr!=null){let fr=dr.findIndex(gr=>gr.route.id&&mr?.[gr.route.id]!==void 0);fr>=0||invariant(!1),dr=dr.slice(0,Math.min(dr.length,fr+1))}let _r=!1,hr=-1;if(tr&&rr&&rr.v7_partialHydration)for(let fr=0;fr<dr.length;fr++){let gr=dr[fr];if((gr.route.HydrateFallback||gr.route.hydrateFallbackElement)&&(hr=fr),gr.route.id){let{loaderData:xr,errors:wr}=tr,Sr=gr.route.loader&&xr[gr.route.id]===void 0&&(!wr||wr[gr.route.id]===void 0);if(gr.route.lazy||Sr){_r=!0,hr>=0?dr=dr.slice(0,hr+1):dr=[dr[0]];break}}}return dr.reduceRight((fr,gr,xr)=>{let wr,Sr=!1,vr=null,Ir=null;tr&&(wr=mr&&gr.route.id?mr[gr.route.id]:void 0,vr=gr.route.errorElement||defaultErrorElement,_r&&(hr<0&&xr===0?(warningOnce("route-fallback"),Sr=!0,Ir=null):hr===xr&&(Sr=!0,Ir=gr.route.hydrateFallbackElement||null)));let Mr=B.concat(dr.slice(0,xr+1)),yr=()=>{let br;return wr?br=vr:Sr?br=Ir:gr.route.Component?br=reactExports.createElement(gr.route.Component,null):gr.route.element?br=gr.route.element:br=fr,reactExports.createElement(RenderedRoute,{match:gr,routeContext:{outlet:fr,matches:Mr,isDataRoute:tr!=null},children:br})};return tr&&(gr.route.ErrorBoundary||gr.route.errorElement||xr===0)?reactExports.createElement(RenderErrorBoundary,{location:tr.location,revalidation:tr.revalidation,component:vr,error:wr,children:yr(),routeContext:{outlet:null,matches:Mr,isDataRoute:!0}}):yr()},null)}var DataRouterHook$1=(function(I){return I.UseBlocker="useBlocker",I.UseRevalidator="useRevalidator",I.UseNavigateStable="useNavigate",I})(DataRouterHook$1||{}),DataRouterStateHook$1=(function(I){return I.UseBlocker="useBlocker",I.UseLoaderData="useLoaderData",I.UseActionData="useActionData",I.UseRouteError="useRouteError",I.UseNavigation="useNavigation",I.UseRouteLoaderData="useRouteLoaderData",I.UseMatches="useMatches",I.UseRevalidator="useRevalidator",I.UseNavigateStable="useNavigate",I.UseRouteId="useRouteId",I})(DataRouterStateHook$1||{});function useDataRouterContext(I){let B=reactExports.useContext(DataRouterContext);return B||invariant(!1),B}function useDataRouterState(I){let B=reactExports.useContext(DataRouterStateContext);return B||invariant(!1),B}function useRouteContext(I){let B=reactExports.useContext(RouteContext);return B||invariant(!1),B}function useCurrentRouteId(I){let B=useRouteContext(),tr=B.matches[B.matches.length-1];return tr.route.id||invariant(!1),tr.route.id}function useRouteError(){var I;let B=reactExports.useContext(RouteErrorContext),tr=useDataRouterState(DataRouterStateHook$1.UseRouteError),rr=useCurrentRouteId();return B!==void 0?B:(I=tr.errors)==null?void 0:I[rr]}function useNavigateStable(){let{router:I}=useDataRouterContext(DataRouterHook$1.UseNavigateStable),B=useCurrentRouteId(),tr=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{tr.current=!0}),reactExports.useCallback(function(ir,lr){lr===void 0&&(lr={}),tr.current&&(typeof ir=="number"?I.navigate(ir):I.navigate(ir,_extends$2({fromRouteId:B},lr)))},[I,B])}const alreadyWarned$1={};function warningOnce(I,B,tr){alreadyWarned$1[I]||(alreadyWarned$1[I]=!0)}function logV6DeprecationWarnings(I,B){I?.v7_startTransition,I?.v7_relativeSplatPath===void 0&&(!B||B.v7_relativeSplatPath),B&&(B.v7_fetcherPersist,B.v7_normalizeFormMethod,B.v7_partialHydration,B.v7_skipActionErrorRevalidation)}function Outlet(I){return useOutlet(I.context)}function Route(I){invariant(!1)}function Router$1(I){let{basename:B="/",children:tr=null,location:rr,navigationType:ir=Action.Pop,navigator:lr,static:dr=!1,future:mr}=I;useInRouterContext()&&invariant(!1);let _r=B.replace(/^\/*/,"/"),hr=reactExports.useMemo(()=>({basename:_r,navigator:lr,static:dr,future:_extends$2({v7_relativeSplatPath:!1},mr)}),[_r,mr,lr,dr]);typeof rr=="string"&&(rr=parsePath(rr));let{pathname:fr="/",search:gr="",hash:xr="",state:wr=null,key:Sr="default"}=rr,vr=reactExports.useMemo(()=>{let Ir=stripBasename(fr,_r);return Ir==null?null:{location:{pathname:Ir,search:gr,hash:xr,state:wr,key:Sr},navigationType:ir}},[_r,fr,gr,xr,wr,Sr,ir]);return vr==null?null:reactExports.createElement(NavigationContext.Provider,{value:hr},reactExports.createElement(LocationContext.Provider,{children:tr,value:vr}))}new Promise(()=>{});function createRoutesFromChildren(I,B){B===void 0&&(B=[]);let tr=[];return reactExports.Children.forEach(I,(rr,ir)=>{if(!reactExports.isValidElement(rr))return;let lr=[...B,ir];if(rr.type===reactExports.Fragment){tr.push.apply(tr,createRoutesFromChildren(rr.props.children,lr));return}rr.type!==Route&&invariant(!1),!rr.props.index||!rr.props.children||invariant(!1);let dr={id:rr.props.id||lr.join("-"),caseSensitive:rr.props.caseSensitive,element:rr.props.element,Component:rr.props.Component,index:rr.props.index,path:rr.props.path,loader:rr.props.loader,action:rr.props.action,errorElement:rr.props.errorElement,ErrorBoundary:rr.props.ErrorBoundary,hasErrorBoundary:rr.props.ErrorBoundary!=null||rr.props.errorElement!=null,shouldRevalidate:rr.props.shouldRevalidate,handle:rr.props.handle,lazy:rr.props.lazy};rr.props.children&&(dr.children=createRoutesFromChildren(rr.props.children,lr)),tr.push(dr)}),tr}function mapRouteProperties(I){let B={hasErrorBoundary:I.ErrorBoundary!=null||I.errorElement!=null};return I.Component&&Object.assign(B,{element:reactExports.createElement(I.Component),Component:void 0}),I.HydrateFallback&&Object.assign(B,{hydrateFallbackElement:reactExports.createElement(I.HydrateFallback),HydrateFallback:void 0}),I.ErrorBoundary&&Object.assign(B,{errorElement:reactExports.createElement(I.ErrorBoundary),ErrorBoundary:void 0}),B}function _extends$1(){return _extends$1=Object.assign?Object.assign.bind():function(I){for(var B=1;B<arguments.length;B++){var tr=arguments[B];for(var rr in tr)Object.prototype.hasOwnProperty.call(tr,rr)&&(I[rr]=tr[rr])}return I},_extends$1.apply(this,arguments)}const REACT_ROUTER_VERSION="6";try{window.__reactRouterVersion=REACT_ROUTER_VERSION}catch{}function createBrowserRouter(I,B){return createRouter$1({basename:B?.basename,future:_extends$1({},B?.future,{v7_prependBasename:!0}),history:createBrowserHistory({window:B?.window}),hydrationData:B?.hydrationData||parseHydrationData(),routes:I,mapRouteProperties,dataStrategy:B?.dataStrategy,patchRoutesOnNavigation:B?.patchRoutesOnNavigation,window:B?.window}).initialize()}function parseHydrationData(){var I;let B=(I=window)==null?void 0:I.__staticRouterHydrationData;return B&&B.errors&&(B=_extends$1({},B,{errors:deserializeErrors(B.errors)})),B}function deserializeErrors(I){if(!I)return null;let B=Object.entries(I),tr={};for(let[rr,ir]of B)if(ir&&ir.__type==="RouteErrorResponse")tr[rr]=new ErrorResponseImpl(ir.status,ir.statusText,ir.data,ir.internal===!0);else if(ir&&ir.__type==="Error"){if(ir.__subType){let lr=window[ir.__subType];if(typeof lr=="function")try{let dr=new lr(ir.message);dr.stack="",tr[rr]=dr}catch{}}if(tr[rr]==null){let lr=new Error(ir.message);lr.stack="",tr[rr]=lr}}else tr[rr]=ir;return tr}const ViewTransitionContext=reactExports.createContext({isTransitioning:!1}),FetchersContext=reactExports.createContext(new Map),START_TRANSITION="startTransition",startTransitionImpl=React[START_TRANSITION],FLUSH_SYNC="flushSync",flushSyncImpl=ReactDOM[FLUSH_SYNC];function startTransitionSafe(I){startTransitionImpl?startTransitionImpl(I):I()}function flushSyncSafe(I){flushSyncImpl?flushSyncImpl(I):I()}class Deferred{constructor(){this.status="pending",this.promise=new Promise((B,tr)=>{this.resolve=rr=>{this.status==="pending"&&(this.status="resolved",B(rr))},this.reject=rr=>{this.status==="pending"&&(this.status="rejected",tr(rr))}})}}function RouterProvider(I){let{fallbackElement:B,router:tr,future:rr}=I,[ir,lr]=reactExports.useState(tr.state),[dr,mr]=reactExports.useState(),[_r,hr]=reactExports.useState({isTransitioning:!1}),[fr,gr]=reactExports.useState(),[xr,wr]=reactExports.useState(),[Sr,vr]=reactExports.useState(),Ir=reactExports.useRef(new Map),{v7_startTransition:Mr}=rr||{},yr=reactExports.useCallback(Or=>{Mr?startTransitionSafe(Or):Or()},[Mr]),br=reactExports.useCallback((Or,Jr)=>{let{deletedFetchers:Gr,flushSync:oo,viewTransitionOpts:zr}=Jr;Or.fetchers.forEach((no,Eo)=>{no.data!==void 0&&Ir.current.set(Eo,no.data)}),Gr.forEach(no=>Ir.current.delete(no));let ao=tr.window==null||tr.window.document==null||typeof tr.window.document.startViewTransition!="function";if(!zr||ao){oo?flushSyncSafe(()=>lr(Or)):yr(()=>lr(Or));return}if(oo){flushSyncSafe(()=>{xr&&(fr&&fr.resolve(),xr.skipTransition()),hr({isTransitioning:!0,flushSync:!0,currentLocation:zr.currentLocation,nextLocation:zr.nextLocation})});let no=tr.window.document.startViewTransition(()=>{flushSyncSafe(()=>lr(Or))});no.finished.finally(()=>{flushSyncSafe(()=>{gr(void 0),wr(void 0),mr(void 0),hr({isTransitioning:!1})})}),flushSyncSafe(()=>wr(no));return}xr?(fr&&fr.resolve(),xr.skipTransition(),vr({state:Or,currentLocation:zr.currentLocation,nextLocation:zr.nextLocation})):(mr(Or),hr({isTransitioning:!0,flushSync:!1,currentLocation:zr.currentLocation,nextLocation:zr.nextLocation}))},[tr.window,xr,fr,Ir,yr]);reactExports.useLayoutEffect(()=>tr.subscribe(br),[tr,br]),reactExports.useEffect(()=>{_r.isTransitioning&&!_r.flushSync&&gr(new Deferred)},[_r]),reactExports.useEffect(()=>{if(fr&&dr&&tr.window){let Or=dr,Jr=fr.promise,Gr=tr.window.document.startViewTransition(async()=>{yr(()=>lr(Or)),await Jr});Gr.finished.finally(()=>{gr(void 0),wr(void 0),mr(void 0),hr({isTransitioning:!1})}),wr(Gr)}},[yr,dr,fr,tr.window]),reactExports.useEffect(()=>{fr&&dr&&ir.location.key===dr.location.key&&fr.resolve()},[fr,xr,ir.location,dr]),reactExports.useEffect(()=>{!_r.isTransitioning&&Sr&&(mr(Sr.state),hr({isTransitioning:!0,flushSync:!1,currentLocation:Sr.currentLocation,nextLocation:Sr.nextLocation}),vr(void 0))},[_r.isTransitioning,Sr]),reactExports.useEffect(()=>{},[]);let Cr=reactExports.useMemo(()=>({createHref:tr.createHref,encodeLocation:tr.encodeLocation,go:Or=>tr.navigate(Or),push:(Or,Jr,Gr)=>tr.navigate(Or,{state:Jr,preventScrollReset:Gr?.preventScrollReset}),replace:(Or,Jr,Gr)=>tr.navigate(Or,{replace:!0,state:Jr,preventScrollReset:Gr?.preventScrollReset})}),[tr]),Fr=tr.basename||"/",Lr=reactExports.useMemo(()=>({router:tr,navigator:Cr,static:!1,basename:Fr}),[tr,Cr,Fr]),Ar=reactExports.useMemo(()=>({v7_relativeSplatPath:tr.future.v7_relativeSplatPath}),[tr.future.v7_relativeSplatPath]);return reactExports.useEffect(()=>logV6DeprecationWarnings(rr,tr.future),[rr,tr.future]),reactExports.createElement(reactExports.Fragment,null,reactExports.createElement(DataRouterContext.Provider,{value:Lr},reactExports.createElement(DataRouterStateContext.Provider,{value:ir},reactExports.createElement(FetchersContext.Provider,{value:Ir.current},reactExports.createElement(ViewTransitionContext.Provider,{value:_r},reactExports.createElement(Router$1,{basename:Fr,location:ir.location,navigationType:ir.historyAction,navigator:Cr,future:Ar},ir.initialized||tr.future.v7_partialHydration?reactExports.createElement(MemoizedDataRoutes,{routes:tr.routes,future:tr.future,state:ir}):B))))),null)}const MemoizedDataRoutes=reactExports.memo(DataRoutes);function DataRoutes(I){let{routes:B,future:tr,state:rr}=I;return useRoutesImpl(B,void 0,rr,tr)}var DataRouterHook;(function(I){I.UseScrollRestoration="useScrollRestoration",I.UseSubmit="useSubmit",I.UseSubmitFetcher="useSubmitFetcher",I.UseFetcher="useFetcher",I.useViewTransitionState="useViewTransitionState"})(DataRouterHook||(DataRouterHook={}));var DataRouterStateHook;(function(I){I.UseFetcher="useFetcher",I.UseFetchers="useFetchers",I.UseScrollRestoration="useScrollRestoration"})(DataRouterStateHook||(DataRouterStateHook={}));const logger$1=childLogger(["sentry"]);let clientStarted=!1;async function getSentry(){return await __vitePreload(()=>import("./sentry_react-cODD7zWc.js").then(I=>I.i),__vite__mapDeps([0,1,2]))}async function initSentry(){const I=await getSentry(),B=[I.httpClientIntegration(),I.extraErrorDataIntegration({depth:5}),I.replayIntegration(),I.captureConsoleIntegration({levels:["error"]})];connectConfig.sentry.tracing&&B.push(I.reactRouterV6BrowserTracingIntegration({useEffect:React$1.useEffect,useLocation,useNavigationType,createRoutesFromChildren,matchRoutes})),I.init({release:connectConfig.sentry.release,dsn:connectConfig.sentry.dsn,environment:connectConfig.sentry.env,integrations:B,ignoreErrors:["User is not allowed to create files","User is not allowed to move documents","The user aborted a request."],sendDefaultPii:!0,tracesSampleRate:1,replaysSessionSampleRate:.1,replaysOnErrorSampleRate:1,beforeSend(tr,rr){const ir=rr.originalException;return ir instanceof TypeError&&ir.message.includes("Failed to fetch")&&!navigator.onLine?null:tr}}),clientStarted=!0}async function closeClient(){return clientStarted?(await getSentry()).getClient()?.close():void 0}function useInitSentry(){const[I]=useAcceptedCookies(),{analytics:B}=I;reactExports.useEffect(()=>{if(!B){closeClient().catch(tr=>logger$1.error(tr));return}clientStarted||!connectConfig.sentry.dsn||connectConfig.sentry.dsn===""||initSentry().catch(tr=>logger$1.error(tr))},[B])}function _extends(){return _extends=Object.assign?Object.assign.bind():function(I){for(var B=1;B<arguments.length;B++){var tr=arguments[B];for(var rr in tr)({}).hasOwnProperty.call(tr,rr)&&(I[rr]=tr[rr])}return I},_extends.apply(null,arguments)}var reservedModifierKeywords=["shift","alt","meta","mod","ctrl"],mappedKeys={esc:"escape",return:"enter",".":"period",",":"comma","-":"slash"," ":"space","`":"backquote","#":"backslash","+":"bracketright",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function mapKey(I){return(I&&mappedKeys[I]||I||"").trim().toLowerCase().replace(/key|digit|numpad|arrow/,"")}function isHotkeyModifier(I){return reservedModifierKeywords.includes(I)}function parseKeysHookInput(I,B){return B===void 0&&(B=","),I.split(B)}function parseHotkey(I,B,tr){B===void 0&&(B="+");var rr=I.toLocaleLowerCase().split(B).map(function(dr){return mapKey(dr)}),ir={alt:rr.includes("alt"),ctrl:rr.includes("ctrl")||rr.includes("control"),shift:rr.includes("shift"),meta:rr.includes("meta"),mod:rr.includes("mod")},lr=rr.filter(function(dr){return!reservedModifierKeywords.includes(dr)});return _extends({},ir,{keys:lr,description:tr,hotkey:I})}(function(){typeof document<"u"&&(document.addEventListener("keydown",function(I){I.key!==void 0&&pushToCurrentlyPressedKeys([mapKey(I.key),mapKey(I.code)])}),document.addEventListener("keyup",function(I){I.key!==void 0&&removeFromCurrentlyPressedKeys([mapKey(I.key),mapKey(I.code)])})),typeof window<"u"&&window.addEventListener("blur",function(){currentlyPressedKeys.clear()})})();var currentlyPressedKeys=new Set;function isReadonlyArray(I){return Array.isArray(I)}function isHotkeyPressed(I,B){B===void 0&&(B=",");var tr=isReadonlyArray(I)?I:I.split(B);return tr.every(function(rr){return currentlyPressedKeys.has(rr.trim().toLowerCase())})}function pushToCurrentlyPressedKeys(I){var B=Array.isArray(I)?I:[I];currentlyPressedKeys.has("meta")&¤tlyPressedKeys.forEach(function(tr){return!isHotkeyModifier(tr)&¤tlyPressedKeys.delete(tr.toLowerCase())}),B.forEach(function(tr){return currentlyPressedKeys.add(tr.toLowerCase())})}function removeFromCurrentlyPressedKeys(I){var B=Array.isArray(I)?I:[I];I==="meta"?currentlyPressedKeys.clear():B.forEach(function(tr){return currentlyPressedKeys.delete(tr.toLowerCase())})}function maybePreventDefault(I,B,tr){(typeof tr=="function"&&tr(I,B)||tr===!0)&&I.preventDefault()}function isHotkeyEnabled(I,B,tr){return typeof tr=="function"?tr(I,B):tr===!0||tr===void 0}function isKeyboardEventTriggeredByInput(I){return isHotkeyEnabledOnTag(I,["input","textarea","select"])}function isHotkeyEnabledOnTag(I,B){B===void 0&&(B=!1);var tr=I.target,rr=I.composed,ir=null;return isCustomElement(tr)&&rr?ir=I.composedPath()[0]&&I.composedPath()[0].tagName:ir=tr&&tr.tagName,isReadonlyArray(B)?!!(ir&&B&&B.some(function(lr){var dr;return lr.toLowerCase()===((dr=ir)==null?void 0:dr.toLowerCase())})):!!(ir&&B&&B)}function isCustomElement(I){return!!I.tagName&&!I.tagName.startsWith("-")&&I.tagName.includes("-")}function isScopeActive(I,B){return I.length===0&&B?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):B?I.some(function(tr){return B.includes(tr)})||I.includes("*"):!0}var isHotkeyMatchingKeyboardEvent=function(B,tr,rr){rr===void 0&&(rr=!1);var ir=tr.alt,lr=tr.meta,dr=tr.mod,mr=tr.shift,_r=tr.ctrl,hr=tr.keys,fr=B.key,gr=B.code,xr=B.ctrlKey,wr=B.metaKey,Sr=B.shiftKey,vr=B.altKey,Ir=mapKey(gr),Mr=fr.toLowerCase();if(!(hr!=null&&hr.includes(Ir))&&!(hr!=null&&hr.includes(Mr))&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(Ir))return!1;if(!rr){if(ir===!vr&&Mr!=="alt"||mr===!Sr&&Mr!=="shift")return!1;if(dr){if(!wr&&!xr)return!1}else if(lr===!wr&&Mr!=="meta"&&Mr!=="os"||_r===!xr&&Mr!=="ctrl"&&Mr!=="control")return!1}return hr&&hr.length===1&&(hr.includes(Mr)||hr.includes(Ir))?!0:hr?isHotkeyPressed(hr):!hr},BoundHotkeysProxyProvider=reactExports.createContext(void 0),useBoundHotkeysProxy=function(){return reactExports.useContext(BoundHotkeysProxyProvider)};function deepEqual(I,B){return I&&B&&typeof I=="object"&&typeof B=="object"?Object.keys(I).length===Object.keys(B).length&&Object.keys(I).reduce(function(tr,rr){return tr&&deepEqual(I[rr],B[rr])},!0):I===B}var HotkeysContext=reactExports.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),useHotkeysContext=function(){return reactExports.useContext(HotkeysContext)};function useDeepEqualMemo(I){var B=reactExports.useRef(void 0);return deepEqual(B.current,I)||(B.current=I),B.current}var stopPropagation=function(B){B.stopPropagation(),B.preventDefault(),B.stopImmediatePropagation()},useSafeLayoutEffect=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect;function useHotkeys(I,B,tr,rr){var ir=reactExports.useState(null),lr=ir[0],dr=ir[1],mr=reactExports.useRef(!1),_r=tr instanceof Array?rr instanceof Array?void 0:rr:tr,hr=isReadonlyArray(I)?I.join(_r?.splitKey):I,fr=tr instanceof Array?tr:rr instanceof Array?rr:void 0,gr=reactExports.useCallback(B,fr??[]),xr=reactExports.useRef(gr);fr?xr.current=gr:xr.current=B;var wr=useDeepEqualMemo(_r),Sr=useHotkeysContext(),vr=Sr.enabledScopes,Ir=useBoundHotkeysProxy();return useSafeLayoutEffect(function(){if(!(wr?.enabled===!1||!isScopeActive(vr,wr?.scopes))){var Mr=function(Lr,Ar){var Or;if(Ar===void 0&&(Ar=!1),!(isKeyboardEventTriggeredByInput(Lr)&&!isHotkeyEnabledOnTag(Lr,wr?.enableOnFormTags))){if(lr!==null){var Jr=lr.getRootNode();if((Jr instanceof Document||Jr instanceof ShadowRoot)&&Jr.activeElement!==lr&&!lr.contains(Jr.activeElement)){stopPropagation(Lr);return}}(Or=Lr.target)!=null&&Or.isContentEditable&&!(wr!=null&&wr.enableOnContentEditable)||parseKeysHookInput(hr,wr?.splitKey).forEach(function(Gr){var oo,zr=parseHotkey(Gr,wr?.combinationKey);if(isHotkeyMatchingKeyboardEvent(Lr,zr,wr?.ignoreModifiers)||(oo=zr.keys)!=null&&oo.includes("*")){if(wr!=null&&wr.ignoreEventWhen!=null&&wr.ignoreEventWhen(Lr)||Ar&&mr.current)return;if(maybePreventDefault(Lr,zr,wr?.preventDefault),!isHotkeyEnabled(Lr,zr,wr?.enabled)){stopPropagation(Lr);return}xr.current(Lr,zr),Ar||(mr.current=!0)}})}},yr=function(Lr){Lr.key!==void 0&&(pushToCurrentlyPressedKeys(mapKey(Lr.code)),(wr?.keydown===void 0&&wr?.keyup!==!0||wr!=null&&wr.keydown)&&Mr(Lr))},br=function(Lr){Lr.key!==void 0&&(removeFromCurrentlyPressedKeys(mapKey(Lr.code)),mr.current=!1,wr!=null&&wr.keyup&&Mr(Lr,!0))},Cr=lr||_r?.document||document;return Cr.addEventListener("keyup",br,_r?.eventListenerOptions),Cr.addEventListener("keydown",yr,_r?.eventListenerOptions),Ir&&parseKeysHookInput(hr,wr?.splitKey).forEach(function(Fr){return Ir.addHotkey(parseHotkey(Fr,wr?.combinationKey,wr?.description))}),function(){Cr.removeEventListener("keyup",br,_r?.eventListenerOptions),Cr.removeEventListener("keydown",yr,_r?.eventListenerOptions),Ir&&parseKeysHookInput(hr,wr?.splitKey).forEach(function(Fr){return Ir.removeHotkey(parseHotkey(Fr,wr?.combinationKey,wr?.description))})}}},[lr,hr,wr,vr]),dr}const useUndoRedoShortcuts=I=>{const{undo:B,redo:tr,canRedo:rr,canUndo:ir}=I,lr=window.navigator.userAgent.includes("Mac");let dr="ctrl+z",mr="ctrl+y";lr&&(dr="mod+z",mr="mod+shift+z"),useHotkeys(dr,_r=>{_r.preventDefault(),ir&&B()},{},[ir,B]),useHotkeys(mr,_r=>{_r.preventDefault(),rr&&tr()},{},[rr,tr])};window.navigator.appVersion.includes("Mac");const urlBranchMap={"staging/makerdao":"deployments/staging/makerdao","staging/arbitrum":"arb-ltip","staging/powerhouse":"staging",makerdao:"deployments/makerdao",arbitrum:"deployments/arbitrum",arbgrants:"deployments/arbitrum",localhost:"develop"},getGithubLinkFromUrl=()=>{const I="https://raw.githubusercontent.com/powerhouse-inc/connect",B=window.location.href,tr=Object.keys(urlBranchMap).find(ir=>B.includes(ir)),rr=tr?urlBranchMap[tr]:void 0;if(rr)return`${I}/${rr}/package.json`},fetchLatestVersion=async()=>{const I=getGithubLinkFromUrl();if(!I)return;const tr=await(await fetch(I)).json(),{version:rr}=tr;return rr},isLatestVersion=async()=>{const I=connectConfig.appVersion,B=await fetchLatestVersion();return B?{isLatest:B===I,currentVersion:I,latestVersion:B}:null};function gtag(...I){window.dataLayer?.push(...I)}const Analytics=()=>{const I=connectConfig.gaTrackingId,[{analytics:B}]=useAcceptedCookies(),tr=I&&B;return reactExports.useEffect(()=>{if(tr){const rr=document.createElement("script");return rr.src=`https://www.googletagmanager.com/gtag/js?id=${I}`,rr.async=!0,document.head.appendChild(rr),window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config",I),()=>{document.head.removeChild(rr)}}},[tr,I]),null};function getBasePath(){return typeof document>"u"?"/":document.querySelector("base")?.getAttribute("href")||"/"}const SUPPORTED_STRATEGIES=["preserve-all","preserve-by-url-and-detach"],getDrivePreservationStrategy=()=>{const I=connectConfig.drives.preserveStrategy;return I&&(tr=>SUPPORTED_STRATEGIES.includes(tr))(I)?I:"preserve-by-url-and-detach"},createRemoveOldRemoteDrivesConfig=I=>{if(I.length===0)return{strategy:"preserve-all"};switch(getDrivePreservationStrategy()){case"preserve-all":return{strategy:"preserve-all"};case"preserve-by-url-and-detach":return{strategy:"preserve-by-url-and-detach",urls:I};default:return{strategy:"preserve-by-url-and-detach",urls:I}}},openBrowserUrl=I=>window.open(I,"_blank"),openUrl=openBrowserUrl;var p=Object.create,i=Object.defineProperty,c=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,l$2=Object.getPrototypeOf,s$1=Object.prototype.hasOwnProperty,a=I=>{throw TypeError(I)},_$1=(I,B,tr)=>B in I?i(I,B,{enumerable:!0,configurable:!0,writable:!0,value:tr}):I[B]=tr,d=(I,B)=>()=>(I&&(B=I(I=0)),B),D$1=(I,B)=>()=>(B||I((B={exports:{}}).exports,B),B.exports),F$1=(I,B)=>{for(var tr in B)i(I,tr,{get:B[tr],enumerable:!0})},g$4=(I,B,tr,rr)=>{if(B&&typeof B=="object"||typeof B=="function")for(let ir of f(B))!s$1.call(I,ir)&&ir!==tr&&i(I,ir,{get:()=>B[ir],enumerable:!(rr=c(B,ir))||rr.enumerable});return I},L$2=(I,B,tr)=>(tr=I!=null?p(l$2(I)):{},g$4(i(tr,"default",{value:I,enumerable:!0}),I)),P$1=(I,B,tr)=>_$1(I,typeof B!="symbol"?B+"":B,tr),n=(I,B,tr)=>B.has(I)||a("Cannot "+tr),h$1=(I,B,tr)=>(n(I,B,"read from private field"),tr?tr.call(I):B.get(I)),R$2=(I,B,tr)=>B.has(I)?a("Cannot add the same private member more than once"):B instanceof WeakSet?B.add(I):B.set(I,tr),x$2=(I,B,tr,rr)=>(n(I,B,"write to private field"),B.set(I,tr),tr),T=(I,B,tr)=>(n(I,B,"access private method"),tr),U$1=(I,B,tr,rr)=>({set _(ir){x$2(I,B,ir)},get _(){return h$1(I,B,rr)}}),u$1=d(()=>{}),hn={};F$1(hn,{ABSTIME:()=>Et,ACLITEM:()=>Vt,BIT:()=>Wt,BOOL:()=>be,BPCHAR:()=>_e$1,BYTEA:()=>ge$1,CHAR:()=>gt,CID:()=>St,CIDR:()=>Tt,CIRCLE:()=>Ut,DATE:()=>He$1,FLOAT4:()=>je$1,FLOAT8:()=>Qe$1,GTSVECTOR:()=>rn,INET:()=>kt,INT2:()=>ve,INT4:()=>Ge,INT8:()=>we,INTERVAL:()=>vt,JSON:()=>Ae$1,JSONB:()=>Ye,MACADDR:()=>Ot,MACADDR8:()=>Nt,MONEY:()=>Lt,NUMERIC:()=>Qt,OID:()=>We$1,PATH:()=>Mt,PG_DEPENDENCIES:()=>en,PG_LSN:()=>Xt,PG_NDISTINCT:()=>Zt,PG_NODE_TREE:()=>Bt,POLYGON:()=>Rt,REFCURSOR:()=>_t,REGCLASS:()=>Yt,REGCONFIG:()=>sn,REGDICTIONARY:()=>an,REGNAMESPACE:()=>on,REGOPER:()=>Ht,REGOPERATOR:()=>qt,REGPROC:()=>wt,REGPROCEDURE:()=>zt,REGROLE:()=>un,REGTYPE:()=>$t,RELTIME:()=>Ct,SMGR:()=>It,TEXT:()=>F,TID:()=>At,TIME:()=>Ft,TIMESTAMP:()=>qe$1,TIMESTAMPTZ:()=>xe,TIMETZ:()=>Gt,TINTERVAL:()=>Pt,TSQUERY:()=>nn,TSVECTOR:()=>tn,TXID_SNAPSHOT:()=>Jt,UUID:()=>Kt,VARBIT:()=>jt,VARCHAR:()=>ze,XID:()=>xt,XML:()=>Dt,arrayParser:()=>yn,arraySerializer:()=>Ke$1,parseType:()=>ue,parsers:()=>ln,serializers:()=>cn,types:()=>$e});u$1();var ht=globalThis.JSON.parse,bt=globalThis.JSON.stringify,be=16,ge$1=17,gt=18,we=20,ve=21,Ge=23,wt=24,F=25,We$1=26,At=27,xt=28,St=29,Ae$1=114,Dt=142,Bt=194,It=210,Mt=602,Rt=604,Tt=650,je$1=700,Qe$1=701,Et=702,Ct=703,Pt=704,Ut=718,Nt=774,Lt=790,Ot=829,kt=869,Vt=1033,_e$1=1042,ze=1043,He$1=1082,Ft=1083,qe$1=1114,xe=1184,vt=1186,Gt=1266,Wt=1560,jt=1562,Qt=1700,_t=1790,zt=2202,Ht=2203,qt=2204,Yt=2205,$t=2206,Kt=2950,Jt=2970,Xt=3220,Zt=3361,en=3402,tn=3614,nn=3615,rn=3642,sn=3734,an=3769,Ye=3802,on=4089,un=4096,$e={string:{to:F,from:[F,ze,_e$1],serialize:I=>{if(typeof I=="string")return I;if(typeof I=="number")return I.toString();throw new Error("Invalid input for string type")},parse:I=>I},number:{to:0,from:[ve,Ge,We$1,je$1,Qe$1],serialize:I=>I.toString(),parse:I=>+I},bigint:{to:we,from:[we],serialize:I=>I.toString(),parse:I=>{let B=BigInt(I);return B<Number.MIN_SAFE_INTEGER||B>Number.MAX_SAFE_INTEGER?B:Number(B)}},json:{to:Ae$1,from:[Ae$1,Ye],serialize:I=>typeof I=="string"?I:bt(I),parse:I=>ht(I)},boolean:{to:be,from:[be],serialize:I=>{if(typeof I!="boolean")throw new Error("Invalid input for boolean type");return I?"t":"f"},parse:I=>I==="t"},date:{to:xe,from:[He$1,qe$1,xe],serialize:I=>{if(typeof I=="string")return I;if(typeof I=="number")return new Date(I).toISOString();if(I instanceof Date)return I.toISOString();throw new Error("Invalid input for date type")},parse:I=>new Date(I)},bytea:{to:ge$1,from:[ge$1],serialize:I=>{if(!(I instanceof Uint8Array))throw new Error("Invalid input for bytea type");return"\\x"+Array.from(I).map(B=>B.toString(16).padStart(2,"0")).join("")},parse:I=>{let B=I.slice(2);return Uint8Array.from({length:B.length/2},(tr,rr)=>parseInt(B.substring(rr*2,(rr+1)*2),16))}}},Se=pn($e),ln=Se.parsers,cn=Se.serializers;function ue(I,B,tr){if(I===null)return null;let rr=tr?.[B]??Se.parsers[B];return rr?rr(I,B):I}function pn(I){return Object.keys(I).reduce(({parsers:B,serializers:tr},rr)=>{let{to:ir,from:lr,serialize:dr,parse:mr}=I[rr];return tr[ir]=dr,tr[rr]=dr,B[rr]=mr,Array.isArray(lr)?lr.forEach(_r=>{B[_r]=mr,tr[_r]=dr}):(B[lr]=mr,tr[lr]=dr),{parsers:B,serializers:tr}},{parsers:{},serializers:{}})}var dn=/\\/g,fn=/"/g;function mn(I){return I.replace(dn,"\\\\").replace(fn,'\\"')}function Ke$1(I,B,tr){if(Array.isArray(I)===!1)return I;if(!I.length)return"{}";let rr=I[0],ir=tr===1020?";":",";return Array.isArray(rr)?`{${I.map(lr=>Ke$1(lr,B,tr)).join(ir)}}`:`{${I.map(lr=>(lr===void 0&&(lr=null),lr===null?"null":'"'+mn(B?B(lr):lr.toString())+'"')).join(ir)}}`}var he={i:0,char:null,str:"",quoted:!1,last:0,p:null};function yn(I,B,tr){return he.i=he.last=0,Je(he,I,B,tr)[0]}function Je(I,B,tr,rr){let ir=[],lr=rr===1020?";":",";for(;I.i<B.length;I.i++){if(I.char=B[I.i],I.quoted)I.char==="\\"?I.str+=B[++I.i]:I.char==='"'?(ir.push(tr?tr(I.str):I.str),I.str="",I.quoted=B[I.i+1]==='"',I.last=I.i+2):I.str+=I.char;else if(I.char==='"')I.quoted=!0;else if(I.char==="{")I.last=++I.i,ir.push(Je(I,B,tr,rr));else if(I.char==="}"){I.quoted=!1,I.last<I.i&&ir.push(tr?tr(B.slice(I.last,I.i)):B.slice(I.last,I.i)),I.last=I.i+1;break}else I.char===lr&&I.p!=="}"&&I.p!=='"'&&(ir.push(tr?tr(B.slice(I.last,I.i)):B.slice(I.last,I.i)),I.last=I.i+1);I.p=I.char}return I.last<I.i&&ir.push(tr?tr(B.slice(I.last,I.i+1)):B.slice(I.last,I.i+1)),ir}var wn={};F$1(wn,{parseDescribeStatementResults:()=>De,parseResults:()=>bn});u$1();function bn(I,B,tr,rr){let ir=[],lr={rows:[],fields:[]},dr=0,mr={...B,...tr?.parsers};return I.forEach(_r=>{switch(_r.name){case"rowDescription":{let hr=_r;lr.fields=hr.fields.map(fr=>({name:fr.name,dataTypeID:fr.dataTypeID}));break}case"dataRow":{if(!lr)break;let hr=_r;tr?.rowMode==="array"?lr.rows.push(hr.fields.map((fr,gr)=>ue(fr,lr.fields[gr].dataTypeID,mr))):lr.rows.push(Object.fromEntries(hr.fields.map((fr,gr)=>[lr.fields[gr].name,ue(fr,lr.fields[gr].dataTypeID,mr)])));break}case"commandComplete":{dr+=gn(_r),ir.push({...lr,affectedRows:dr,...rr?{blob:rr}:{}}),lr={rows:[],fields:[]};break}}}),ir.length===0&&ir.push({affectedRows:0,rows:[],fields:[]}),ir}function gn(I){let B=I.text.split(" ");switch(B[0]){case"INSERT":return parseInt(B[2],10);case"UPDATE":case"DELETE":case"COPY":return parseInt(B[1],10);default:return 0}}function De(I){let B=I.find(tr=>tr.name==="parameterDescription");return B?B.dataTypeIDs:[]}var Ue$1={};F$1(Ue$1,{AuthenticationCleartextPassword:()=>G$1,AuthenticationMD5Password:()=>W$1,AuthenticationOk:()=>v,AuthenticationSASL:()=>j$1,AuthenticationSASLContinue:()=>Q,AuthenticationSASLFinal:()=>_,BackendKeyDataMessage:()=>J$1,CommandCompleteMessage:()=>ee$1,CopyDataMessage:()=>z$1,CopyResponse:()=>H$2,DataRowMessage:()=>te$1,DatabaseError:()=>E,Field:()=>q,NoticeMessage:()=>ne,NotificationResponseMessage:()=>X,ParameterDescriptionMessage:()=>$$1,ParameterStatusMessage:()=>K$1,ReadyForQueryMessage:()=>Z$1,RowDescriptionMessage:()=>Y$1,bindComplete:()=>Ie$1,closeComplete:()=>Me,copyDone:()=>Pe$1,emptyQuery:()=>Ce,noData:()=>Re,parseComplete:()=>Be,portalSuspended:()=>Te$1,replicationStart:()=>Ee});u$1();var Be={name:"parseComplete",length:5},Ie$1={name:"bindComplete",length:5},Me={name:"closeComplete",length:5},Re={name:"noData",length:5},Te$1={name:"portalSuspended",length:5},Ee={name:"replicationStart",length:4},Ce={name:"emptyQuery",length:4},Pe$1={name:"copyDone",length:4},v=class{constructor(I){this.length=I,this.name="authenticationOk"}},G$1=class{constructor(B){this.length=B,this.name="authenticationCleartextPassword"}},W$1=class{constructor(B,tr){this.length=B,this.salt=tr,this.name="authenticationMD5Password"}},j$1=class{constructor(B,tr){this.length=B,this.mechanisms=tr,this.name="authenticationSASL"}},Q=class{constructor(I,B){this.length=I,this.data=B,this.name="authenticationSASLContinue"}},_=class{constructor(I,B){this.length=I,this.data=B,this.name="authenticationSASLFinal"}},E=class extends Error{constructor(I,B,tr){super(I),this.length=B,this.name=tr}},z$1=class{constructor(B,tr){this.length=B,this.chunk=tr,this.name="copyData"}},H$2=class{constructor(B,tr,rr,ir){this.length=B,this.name=tr,this.binary=rr,this.columnTypes=new Array(ir)}},q=class{constructor(I,B,tr,rr,ir,lr,dr){this.name=I,this.tableID=B,this.columnID=tr,this.dataTypeID=rr,this.dataTypeSize=ir,this.dataTypeModifier=lr,this.format=dr}},Y$1=class{constructor(B,tr){this.length=B,this.fieldCount=tr,this.name="rowDescription",this.fields=new Array(this.fieldCount)}},$$1=class{constructor(B,tr){this.length=B,this.parameterCount=tr,this.name="parameterDescription",this.dataTypeIDs=new Array(this.parameterCount)}},K$1=class{constructor(B,tr,rr){this.length=B,this.parameterName=tr,this.parameterValue=rr,this.name="parameterStatus"}},J$1=class{constructor(B,tr,rr){this.length=B,this.processID=tr,this.secretKey=rr,this.name="backendKeyData"}},X=class{constructor(I,B,tr,rr){this.length=I,this.processId=B,this.channel=tr,this.payload=rr,this.name="notification"}},Z$1=class{constructor(B,tr){this.length=B,this.status=tr,this.name="readyForQuery"}},ee$1=class{constructor(B,tr){this.length=B,this.text=tr,this.name="commandComplete"}},te$1=class{constructor(B,tr){this.length=B,this.fields=tr,this.name="dataRow",this.fieldCount=tr.length}},ne=class{constructor(I,B){this.length=I,this.message=B,this.name="notice"}},zn={};F$1(zn,{Parser:()=>ye,messages:()=>Ue$1,serialize:()=>O$1});u$1();u$1();u$1();u$1();function C$1(I){let B=I.length;for(let tr=I.length-1;tr>=0;tr--){let rr=I.charCodeAt(tr);rr>127&&rr<=2047?B++:rr>2047&&rr<=65535&&(B+=2),rr>=56320&&rr<=57343&&tr--}return B}var b$1,g$3,U,ce$2,N,x$1,le,P,Xe,R$1=class{constructor(B=256){this.size=B,R$2(this,x$1),R$2(this,b$1),R$2(this,g$3,5),R$2(this,U,!1),R$2(this,ce$2,new TextEncoder),R$2(this,N,0),x$2(this,b$1,T(this,x$1,le).call(this,B))}addInt32(B){return T(this,x$1,P).call(this,4),h$1(this,b$1).setInt32(h$1(this,g$3),B,h$1(this,U)),x$2(this,g$3,h$1(this,g$3)+4),this}addInt16(B){return T(this,x$1,P).call(this,2),h$1(this,b$1).setInt16(h$1(this,g$3),B,h$1(this,U)),x$2(this,g$3,h$1(this,g$3)+2),this}addCString(B){return B&&this.addString(B),T(this,x$1,P).call(this,1),h$1(this,b$1).setUint8(h$1(this,g$3),0),U$1(this,g$3)._++,this}addString(B=""){let tr=C$1(B);return T(this,x$1,P).call(this,tr),h$1(this,ce$2).encodeInto(B,new Uint8Array(h$1(this,b$1).buffer,h$1(this,g$3))),x$2(this,g$3,h$1(this,g$3)+tr),this}add(B){return T(this,x$1,P).call(this,B.byteLength),new Uint8Array(h$1(this,b$1).buffer).set(new Uint8Array(B),h$1(this,g$3)),x$2(this,g$3,h$1(this,g$3)+B.byteLength),this}flush(B){let tr=T(this,x$1,Xe).call(this,B);return x$2(this,g$3,5),x$2(this,b$1,T(this,x$1,le).call(this,this.size)),new Uint8Array(tr)}};b$1=new WeakMap,g$3=new WeakMap,U=new WeakMap,ce$2=new WeakMap,N=new WeakMap,x$1=new WeakSet,le=function(I){return new DataView(new ArrayBuffer(I))},P=function(I){if(h$1(this,b$1).byteLength-h$1(this,g$3)<I){let B=h$1(this,b$1).buffer,tr=B.byteLength+(B.byteLength>>1)+I;x$2(this,b$1,T(this,x$1,le).call(this,tr)),new Uint8Array(h$1(this,b$1).buffer).set(new Uint8Array(B))}},Xe=function(I){if(I){h$1(this,b$1).setUint8(h$1(this,N),I);let B=h$1(this,g$3)-(h$1(this,N)+1);h$1(this,b$1).setInt32(h$1(this,N)+1,B,h$1(this,U))}return h$1(this,b$1).buffer.slice(I?0:5,h$1(this,g$3))};var m=new R$1,An=I=>{m.addInt16(3).addInt16(0);for(let rr of Object.keys(I))m.addCString(rr).addCString(I[rr]);m.addCString("client_encoding").addCString("UTF8");let B=m.addCString("").flush(),tr=B.byteLength+4;return new R$1().addInt32(tr).add(B).flush()},xn=()=>{let I=new DataView(new ArrayBuffer(8));return I.setInt32(0,8,!1),I.setInt32(4,80877103,!1),new Uint8Array(I.buffer)},Sn=I=>m.addCString(I).flush(112),Dn=(I,B)=>(m.addCString(I).addInt32(C$1(B)).addString(B),m.flush(112)),Bn=I=>m.addString(I).flush(112),In=I=>m.addCString(I).flush(81),Mn=[],Rn=I=>{let B=I.name??"";B.length>63&&(console.error("Warning! Postgres only supports 63 characters for query names."),console.error("You supplied %s (%s)",B,B.length),console.error("This can cause conflicts and silent errors executing queries"));let tr=m.addCString(B).addCString(I.text).addInt16(I.types?.length??0);return I.types?.forEach(rr=>tr.addInt32(rr)),m.flush(80)},L$1=new R$1,Tn=(I,B)=>{for(let tr=0;tr<I.length;tr++){let rr=B?B(I[tr],tr):I[tr];if(rr===null)m.addInt16(0),L$1.addInt32(-1);else if(rr instanceof ArrayBuffer||ArrayBuffer.isView(rr)){let ir=ArrayBuffer.isView(rr)?rr.buffer.slice(rr.byteOffset,rr.byteOffset+rr.byteLength):rr;m.addInt16(1),L$1.addInt32(ir.byteLength),L$1.add(ir)}else m.addInt16(0),L$1.addInt32(C$1(rr)),L$1.addString(rr)}},En=(I={})=>{let B=I.portal??"",tr=I.statement??"",rr=I.binary??!1,ir=I.values??Mn,lr=ir.length;return m.addCString(B).addCString(tr),m.addInt16(lr),Tn(ir,I.valueMapper),m.addInt16(lr),m.add(L$1.flush()),m.addInt16(rr?1:0),m.flush(66)},Cn=new Uint8Array([69,0,0,0,9,0,0,0,0,0]),Pn=I=>{if(!I||!I.portal&&!I.rows)return Cn;let B=I.portal??"",tr=I.rows??0,rr=C$1(B),ir=4+rr+1+4,lr=new DataView(new ArrayBuffer(1+ir));return lr.setUint8(0,69),lr.setInt32(1,ir,!1),new TextEncoder().encodeInto(B,new Uint8Array(lr.buffer,5)),lr.setUint8(rr+5,0),lr.setUint32(lr.byteLength-4,tr,!1),new Uint8Array(lr.buffer)},Un=(I,B)=>{let tr=new DataView(new ArrayBuffer(16));return tr.setInt32(0,16,!1),tr.setInt16(4,1234,!1),tr.setInt16(6,5678,!1),tr.setInt32(8,I,!1),tr.setInt32(12,B,!1),new Uint8Array(tr.buffer)},Ne=(I,B)=>{let tr=new R$1;return tr.addCString(B),tr.flush(I)},Nn=m.addCString("P").flush(68),Ln=m.addCString("S").flush(68),On=I=>I.name?Ne(68,`${I.type}${I.name??""}`):I.type==="P"?Nn:Ln,kn=I=>{let B=`${I.type}${I.name??""}`;return Ne(67,B)},Vn=I=>m.add(I).flush(100),Fn=I=>Ne(102,I),pe$1=I=>new Uint8Array([I,0,0,0,4]),vn=pe$1(72),Gn=pe$1(83),Wn=pe$1(88),jn=pe$1(99),O$1={startup:An,password:Sn,requestSsl:xn,sendSASLInitialResponseMessage:Dn,sendSCRAMClientFinalMessage:Bn,query:In,parse:Rn,bind:En,execute:Pn,describe:On,close:kn,flush:()=>vn,sync:()=>Gn,end:()=>Wn,copyData:Vn,copyDone:()=>jn,copyFail:Fn,cancel:Un};u$1();u$1();var Le={text:0,binary:1};u$1();var Qn=new ArrayBuffer(0),M,w$1,fe,me$1,re$1,de=class{constructor(I=0){R$2(this,M,new DataView(Qn)),R$2(this,w$1),R$2(this,fe,"utf-8"),R$2(this,me$1,new TextDecoder(h$1(this,fe))),R$2(this,re$1,!1),x$2(this,w$1,I)}setBuffer(I,B){x$2(this,w$1,I),x$2(this,M,new DataView(B))}int16(){let I=h$1(this,M).getInt16(h$1(this,w$1),h$1(this,re$1));return x$2(this,w$1,h$1(this,w$1)+2),I}byte(){let I=h$1(this,M).getUint8(h$1(this,w$1));return U$1(this,w$1)._++,I}int32(){let I=h$1(this,M).getInt32(h$1(this,w$1),h$1(this,re$1));return x$2(this,w$1,h$1(this,w$1)+4),I}string(I){return h$1(this,me$1).decode(this.bytes(I))}cstring(){let I=h$1(this,w$1),B=I;for(;h$1(this,M).getUint8(B++)!==0;);let tr=this.string(B-I-1);return x$2(this,w$1,B),tr}bytes(I){let B=h$1(this,M).buffer.slice(h$1(this,w$1),h$1(this,w$1)+I);return x$2(this,w$1,h$1(this,w$1)+I),new Uint8Array(B)}};M=new WeakMap,w$1=new WeakMap,fe=new WeakMap,me$1=new WeakMap,re$1=new WeakMap;var Oe=1,_n=4,Ze=Oe+_n,et=new ArrayBuffer(0),A,S,D,o$1,l$1,tt,nt,rt,st,it,at,ot,ke$1,ut,lt,ct,pt,dt,ft,mt,yt,Ve$1,ye=class{constructor(){R$2(this,l$1),R$2(this,A,new DataView(et)),R$2(this,S,0),R$2(this,D,0),R$2(this,o$1,new de)}parse(I,B){T(this,l$1,tt).call(this,ArrayBuffer.isView(I)?I.buffer.slice(I.byteOffset,I.byteOffset+I.byteLength):I);let tr=h$1(this,D)+h$1(this,S),rr=h$1(this,D);for(;rr+Ze<=tr;){let ir=h$1(this,A).getUint8(rr),lr=h$1(this,A).getUint32(rr+Oe,!1),dr=Oe+lr;if(dr+rr<=tr){let mr=T(this,l$1,nt).call(this,rr+Ze,ir,lr,h$1(this,A).buffer);B(mr),rr+=dr}else break}rr===tr?(x$2(this,A,new DataView(et)),x$2(this,S,0),x$2(this,D,0)):(x$2(this,S,tr-rr),x$2(this,D,rr))}};A=new WeakMap,S=new WeakMap,D=new WeakMap,o$1=new WeakMap,l$1=new WeakSet,tt=function(I){if(h$1(this,S)>0){let B=h$1(this,S)+I.byteLength;if(B+h$1(this,D)>h$1(this,A).byteLength){let tr;if(B<=h$1(this,A).byteLength&&h$1(this,D)>=h$1(this,S))tr=h$1(this,A).buffer;else{let rr=h$1(this,A).byteLength*2;for(;B>=rr;)rr*=2;tr=new ArrayBuffer(rr)}new Uint8Array(tr).set(new Uint8Array(h$1(this,A).buffer,h$1(this,D),h$1(this,S))),x$2(this,A,new DataView(tr)),x$2(this,D,0)}new Uint8Array(h$1(this,A).buffer).set(new Uint8Array(I),h$1(this,D)+h$1(this,S)),x$2(this,S,B)}else x$2(this,A,new DataView(I)),x$2(this,D,0),x$2(this,S,I.byteLength)},nt=function(I,B,tr,rr){switch(B){case 50:return Ie$1;case 49:return Be;case 51:return Me;case 110:return Re;case 115:return Te$1;case 99:return Pe$1;case 87:return Ee;case 73:return Ce;case 68:return T(this,l$1,dt).call(this,I,tr,rr);case 67:return T(this,l$1,st).call(this,I,tr,rr);case 90:return T(this,l$1,rt).call(this,I,tr,rr);case 65:return T(this,l$1,ut).call(this,I,tr,rr);case 82:return T(this,l$1,yt).call(this,I,tr,rr);case 83:return T(this,l$1,ft).call(this,I,tr,rr);case 75:return T(this,l$1,mt).call(this,I,tr,rr);case 69:return T(this,l$1,Ve$1).call(this,I,tr,rr,"error");case 78:return T(this,l$1,Ve$1).call(this,I,tr,rr,"notice");case 84:return T(this,l$1,lt).call(this,I,tr,rr);case 116:return T(this,l$1,pt).call(this,I,tr,rr);case 71:return T(this,l$1,at).call(this,I,tr,rr);case 72:return T(this,l$1,ot).call(this,I,tr,rr);case 100:return T(this,l$1,it).call(this,I,tr,rr);default:return new E("received invalid response: "+B.toString(16),tr,"error")}},rt=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).string(1);return new Z$1(B,rr)},st=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).cstring();return new ee$1(B,rr)},it=function(I,B,tr){let rr=tr.slice(I,I+(B-4));return new z$1(B,new Uint8Array(rr))},at=function(I,B,tr){return T(this,l$1,ke$1).call(this,I,B,tr,"copyInResponse")},ot=function(I,B,tr){return T(this,l$1,ke$1).call(this,I,B,tr,"copyOutResponse")},ke$1=function(I,B,tr,rr){h$1(this,o$1).setBuffer(I,tr);let ir=h$1(this,o$1).byte()!==0,lr=h$1(this,o$1).int16(),dr=new H$2(B,rr,ir,lr);for(let mr=0;mr<lr;mr++)dr.columnTypes[mr]=h$1(this,o$1).int16();return dr},ut=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).int32(),ir=h$1(this,o$1).cstring(),lr=h$1(this,o$1).cstring();return new X(B,rr,ir,lr)},lt=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).int16(),ir=new Y$1(B,rr);for(let lr=0;lr<rr;lr++)ir.fields[lr]=T(this,l$1,ct).call(this);return ir},ct=function(){let I=h$1(this,o$1).cstring(),B=h$1(this,o$1).int32(),tr=h$1(this,o$1).int16(),rr=h$1(this,o$1).int32(),ir=h$1(this,o$1).int16(),lr=h$1(this,o$1).int32(),dr=h$1(this,o$1).int16()===0?Le.text:Le.binary;return new q(I,B,tr,rr,ir,lr,dr)},pt=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).int16(),ir=new $$1(B,rr);for(let lr=0;lr<rr;lr++)ir.dataTypeIDs[lr]=h$1(this,o$1).int32();return ir},dt=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).int16(),ir=new Array(rr);for(let lr=0;lr<rr;lr++){let dr=h$1(this,o$1).int32();ir[lr]=dr===-1?null:h$1(this,o$1).string(dr)}return new te$1(B,ir)},ft=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).cstring(),ir=h$1(this,o$1).cstring();return new K$1(B,rr,ir)},mt=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).int32(),ir=h$1(this,o$1).int32();return new J$1(B,rr,ir)},yt=function(I,B,tr){h$1(this,o$1).setBuffer(I,tr);let rr=h$1(this,o$1).int32();switch(rr){case 0:return new v(B);case 3:return new G$1(B);case 5:return new W$1(B,h$1(this,o$1).bytes(4));case 10:{let ir=[];for(;;){let lr=h$1(this,o$1).cstring();if(lr.length===0)return new j$1(B,ir);ir.push(lr)}}case 11:return new Q(B,h$1(this,o$1).string(B-8));case 12:return new _(B,h$1(this,o$1).string(B-8));default:throw new Error("Unknown authenticationOk message type "+rr)}},Ve$1=function(I,B,tr,rr){h$1(this,o$1).setBuffer(I,tr);let ir={},lr=h$1(this,o$1).string(1);for(;lr!=="\0";)ir[lr]=h$1(this,o$1).cstring(),lr=h$1(this,o$1).string(1);let dr=ir.M,mr=rr==="notice"?new ne(B,dr):new E(dr,B,rr);return mr.severity=ir.S,mr.code=ir.C,mr.detail=ir.D,mr.hint=ir.H,mr.position=ir.P,mr.internalPosition=ir.p,mr.internalQuery=ir.q,mr.where=ir.W,mr.schema=ir.s,mr.table=ir.t,mr.column=ir.c,mr.dataType=ir.d,mr.constraint=ir.n,mr.file=ir.F,mr.line=ir.L,mr.routine=ir.R,mr};u$1();var Fe$1=typeof process$1=="object"&&typeof process$1.versions=="object"&&typeof process$1.versions.node=="string",se$1;async function Rr(){if(Fe$1||se$1)return;let I=new URL("/assets/postgres-CyuUVpXN.wasm",import.meta.url);se$1=fetch(I)}var k$1;async function Tr(I,B){if(B||k$1)return WebAssembly.instantiate(B||k$1,I),{instance:await WebAssembly.instantiate(B||k$1,I),module:B||k$1};let tr=new URL("/assets/postgres-CyuUVpXN.wasm",import.meta.url);if(Fe$1){let rr=await(await __vitePreload(async()=>{const{readFile:dr}=await import("./reactor_browser-h6aSTneX.js").then(mr=>mr.aN);return{readFile:dr}},__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17]))).readFile(tr),{module:ir,instance:lr}=await WebAssembly.instantiate(rr,I);return k$1=ir,{instance:lr,module:ir}}else{se$1||(se$1=fetch(tr));let rr=await se$1,{module:ir,instance:lr}=await WebAssembly.instantiateStreaming(rr,I);return k$1=ir,{instance:lr,module:ir}}}async function Er(){let I=new URL("/assets/postgres-CkP7QCDB.data",import.meta.url);return Fe$1?(await(await __vitePreload(async()=>{const{readFile:B}=await import("./reactor_browser-h6aSTneX.js").then(tr=>tr.aN);return{readFile:B}},__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17]))).readFile(I)).buffer:(await fetch(I)).arrayBuffer()}function Nr(I){let B;return I.startsWith('"')&&I.endsWith('"')?B=I.substring(1,I.length-1):B=I.toLowerCase(),B}u$1();var o={part:"part",container:"container"};function s(I,B,...tr){let rr=I.length-1,ir=tr.length-1;if(ir!==-1){if(ir===0){I[rr]=I[rr]+tr[0]+B;return}I[rr]=I[rr]+tr[0],I.push(...tr.slice(1,ir)),I.push(tr[ir]+B)}}function y(I,...B){let tr=[I[0]];tr.raw=[I.raw[0]];let rr=[];for(let ir=0;ir<B.length;ir++){let lr=B[ir],dr=ir+1;if(lr?._templateType===o.part){s(tr,I[dr],lr.str),s(tr.raw,I.raw[dr],lr.str);continue}if(lr?._templateType===o.container){s(tr,I[dr],...lr.strings),s(tr.raw,I.raw[dr],...lr.strings.raw),rr.push(...lr.values);continue}tr.push(I[dr]),tr.raw.push(I.raw[dr]),rr.push(lr)}return{_templateType:"container",strings:tr,values:rr}}function g$2(I,...B){let{strings:tr,values:rr}=y(I,...B);return{query:[tr[0],...rr.flatMap((ir,lr)=>[`$${lr+1}`,tr[lr+1]])].join(""),params:rr}}u$1();var b,u,r,l,g$1,h,R,z=class{constructor(){R$2(this,r),this.serializers={...cn},this.parsers={...ln},R$2(this,b,!1),R$2(this,u,!1)}async _initArrayTypes({force:I=!1}={}){if(h$1(this,b)&&!I)return;x$2(this,b,!0);let B=await this.query(`
|
|
6
|
-
SELECT b.oid, b.typarray
|
|
7
|
-
FROM pg_catalog.pg_type a
|
|
8
|
-
LEFT JOIN pg_catalog.pg_type b ON b.oid = a.typelem
|
|
9
|
-
WHERE a.typcategory = 'A'
|
|
10
|
-
GROUP BY b.oid, b.typarray
|
|
11
|
-
ORDER BY b.oid
|
|
12
|
-
`);for(let tr of B.rows)this.serializers[tr.typarray]=rr=>Ke$1(rr,this.serializers[tr.oid],tr.typarray),this.parsers[tr.typarray]=rr=>yn(rr,this.parsers[tr.oid],tr.typarray)}async refreshArrayTypes(){await this._initArrayTypes({force:!0})}async query(I,B,tr){return await this._checkReady(),await this._runExclusiveTransaction(async()=>await T(this,r,g$1).call(this,I,B,tr))}async sql(I,...B){let{query:tr,params:rr}=g$2(I,...B);return await this.query(tr,rr)}async exec(I,B){return await this._checkReady(),await this._runExclusiveTransaction(async()=>await T(this,r,h).call(this,I,B))}async describeQuery(I,B){try{await T(this,r,l).call(this,O$1.parse({text:I,types:B?.paramTypes}),B);let tr=await T(this,r,l).call(this,O$1.describe({type:"S"}),B),rr=tr.messages.find(mr=>mr.name==="parameterDescription"),ir=tr.messages.find(mr=>mr.name==="rowDescription"),lr=rr?.dataTypeIDs.map(mr=>({dataTypeID:mr,serializer:this.serializers[mr]}))??[],dr=ir?.fields.map(mr=>({name:mr.name,dataTypeID:mr.dataTypeID,parser:this.parsers[mr.dataTypeID]}))??[];return{queryParams:lr,resultFields:dr}}finally{await T(this,r,l).call(this,O$1.sync(),B)}}async transaction(I){return await this._checkReady(),await this._runExclusiveTransaction(async()=>{await T(this,r,h).call(this,"BEGIN"),x$2(this,u,!0);let B=!1,tr=()=>{if(B)throw new Error("Transaction is closed")},rr={query:async(ir,lr,dr)=>(tr(),await T(this,r,g$1).call(this,ir,lr,dr)),sql:async(ir,...lr)=>{let{query:dr,params:mr}=g$2(ir,...lr);return await T(this,r,g$1).call(this,dr,mr)},exec:async(ir,lr)=>(tr(),await T(this,r,h).call(this,ir,lr)),rollback:async()=>{tr(),await T(this,r,h).call(this,"ROLLBACK"),B=!0},get closed(){return B}};try{let ir=await I(rr);return B||(B=!0,await T(this,r,h).call(this,"COMMIT")),x$2(this,u,!1),ir}catch(ir){throw B||await T(this,r,h).call(this,"ROLLBACK"),x$2(this,u,!1),ir}})}async runExclusive(I){return await this._runExclusiveQuery(I)}};b=new WeakMap,u=new WeakMap,r=new WeakSet,l=async function(I,B={}){return await this.execProtocol(I,{...B,syncToFs:!1})},g$1=async function(I,B=[],tr){return await this._runExclusiveQuery(async()=>{T(this,r,R).call(this,"runQuery",I,B,tr),await this._handleBlob(tr?.blob);let rr;try{let{messages:lr}=await T(this,r,l).call(this,O$1.parse({text:I,types:tr?.paramTypes}),tr),dr=De((await T(this,r,l).call(this,O$1.describe({type:"S"}),tr)).messages),mr=B.map((_r,hr)=>{let fr=dr[hr];if(_r==null)return null;let gr=tr?.serializers?.[fr]??this.serializers[fr];return gr?gr(_r):_r.toString()});rr=[...lr,...(await T(this,r,l).call(this,O$1.bind({values:mr}),tr)).messages,...(await T(this,r,l).call(this,O$1.describe({type:"P"}),tr)).messages,...(await T(this,r,l).call(this,O$1.execute({}),tr)).messages]}finally{await T(this,r,l).call(this,O$1.sync(),tr)}await this._cleanupBlob(),h$1(this,u)||await this.syncToFs();let ir=await this._getWrittenBlob();return bn(rr,this.parsers,tr,ir)[0]})},h=async function(I,B){return await this._runExclusiveQuery(async()=>{T(this,r,R).call(this,"runExec",I,B),await this._handleBlob(B?.blob);let tr;try{tr=(await T(this,r,l).call(this,O$1.query(I),B)).messages}finally{await T(this,r,l).call(this,O$1.sync(),B)}this._cleanupBlob(),h$1(this,u)||await this.syncToFs();let rr=await this._getWrittenBlob();return bn(tr,this.parsers,B,rr)})},R=function(...I){this.debug>0&&console.log(...I)};var w=D$1((I,B)=>{u$1();var tr=9007199254740991,rr=(function(Mr){return Mr})();function ir(Mr){return Mr===rr}function lr(Mr){return typeof Mr=="string"||Object.prototype.toString.call(Mr)=="[object String]"}function dr(Mr){return Object.prototype.toString.call(Mr)=="[object Date]"}function mr(Mr){return Mr!==null&&typeof Mr=="object"}function _r(Mr){return typeof Mr=="function"}function hr(Mr){return typeof Mr=="number"&&Mr>-1&&Mr%1==0&&Mr<=tr}function fr(Mr){return Object.prototype.toString.call(Mr)=="[object Array]"}function gr(Mr){return mr(Mr)&&!_r(Mr)&&hr(Mr.length)}function xr(Mr){return Object.prototype.toString.call(Mr)=="[object ArrayBuffer]"}function wr(Mr,yr){return Array.prototype.map.call(Mr,yr)}function Sr(Mr,yr){var br=rr;return _r(yr)&&Array.prototype.every.call(Mr,function(Cr,Fr,Lr){var Ar=yr(Cr,Fr,Lr);return Ar&&(br=Cr),!Ar}),br}function vr(Mr){return Object.assign.apply(null,arguments)}function Ir(Mr){var yr,br,Cr;if(lr(Mr)){for(br=Mr.length,Cr=new Uint8Array(br),yr=0;yr<br;yr++)Cr[yr]=Mr.charCodeAt(yr)&255;return Cr}return xr(Mr)?new Uint8Array(Mr):mr(Mr)&&xr(Mr.buffer)?new Uint8Array(Mr.buffer):gr(Mr)?new Uint8Array(Mr):mr(Mr)&&_r(Mr.toString)?Ir(Mr.toString()):new Uint8Array}B.exports.MAX_SAFE_INTEGER=tr,B.exports.isUndefined=ir,B.exports.isString=lr,B.exports.isObject=mr,B.exports.isDateTime=dr,B.exports.isFunction=_r,B.exports.isArray=fr,B.exports.isArrayLike=gr,B.exports.isArrayBuffer=xr,B.exports.map=wr,B.exports.find=Sr,B.exports.extend=vr,B.exports.toUint8Array=Ir}),x=D$1((I,B)=>{u$1();var tr="\0";B.exports={NULL_CHAR:tr,TMAGIC:"ustar"+tr+"00",OLDGNU_MAGIC:"ustar "+tr,REGTYPE:0,LNKTYPE:1,SYMTYPE:2,CHRTYPE:3,BLKTYPE:4,DIRTYPE:5,FIFOTYPE:6,CONTTYPE:7,TSUID:parseInt("4000",8),TSGID:parseInt("2000",8),TSVTX:parseInt("1000",8),TUREAD:parseInt("0400",8),TUWRITE:parseInt("0200",8),TUEXEC:parseInt("0100",8),TGREAD:parseInt("0040",8),TGWRITE:parseInt("0020",8),TGEXEC:parseInt("0010",8),TOREAD:parseInt("0004",8),TOWRITE:parseInt("0002",8),TOEXEC:parseInt("0001",8),TPERMALL:parseInt("0777",8),TPERMMASK:parseInt("0777",8)}}),L=D$1((I,B)=>{u$1();var tr=w(),rr=x(),ir=512,lr=rr.TPERMALL,dr=0,mr=0,_r=[["name",100,0,function(yr,br){return gr(yr[br[0]],br[1])},function(yr,br,Cr){return Sr(yr.slice(br,br+Cr[1]))}],["mode",8,100,function(yr,br){var Cr=yr[br[0]]||lr;return Cr=Cr&rr.TPERMMASK,xr(Cr,br[1],lr)},function(yr,br,Cr){var Fr=vr(yr.slice(br,br+Cr[1]));return Fr&=rr.TPERMMASK,Fr}],["uid",8,108,function(yr,br){return xr(yr[br[0]],br[1],dr)},function(yr,br,Cr){return vr(yr.slice(br,br+Cr[1]))}],["gid",8,116,function(yr,br){return xr(yr[br[0]],br[1],mr)},function(yr,br,Cr){return vr(yr.slice(br,br+Cr[1]))}],["size",12,124,function(yr,br){return xr(yr.data.length,br[1])},function(yr,br,Cr){return vr(yr.slice(br,br+Cr[1]))}],["modifyTime",12,136,function(yr,br){return wr(yr[br[0]],br[1])},function(yr,br,Cr){return Ir(yr.slice(br,br+Cr[1]))}],["checksum",8,148,function(yr,br){return" "},function(yr,br,Cr){return vr(yr.slice(br,br+Cr[1]))}],["type",1,156,function(yr,br){return""+(parseInt(yr[br[0]],10)||0)%8},function(yr,br,Cr){return(parseInt(String.fromCharCode(yr[br]),10)||0)%8}],["linkName",100,157,function(yr,br){return""},function(yr,br,Cr){return Sr(yr.slice(br,br+Cr[1]))}],["ustar",8,257,function(yr,br){return rr.TMAGIC},function(yr,br,Cr){return fr(Sr(yr.slice(br,br+Cr[1]),!0))},function(yr,br){return yr[br[0]]==rr.TMAGIC||yr[br[0]]==rr.OLDGNU_MAGIC}],["owner",32,265,function(yr,br){return gr(yr[br[0]],br[1])},function(yr,br,Cr){return Sr(yr.slice(br,br+Cr[1]))}],["group",32,297,function(yr,br){return gr(yr[br[0]],br[1])},function(yr,br,Cr){return Sr(yr.slice(br,br+Cr[1]))}],["majorNumber",8,329,function(yr,br){return""},function(yr,br,Cr){return vr(yr.slice(br,br+Cr[1]))}],["minorNumber",8,337,function(yr,br){return""},function(yr,br,Cr){return vr(yr.slice(br,br+Cr[1]))}],["prefix",131,345,function(yr,br){return gr(yr[br[0]],br[1])},function(yr,br,Cr){return Sr(yr.slice(br,br+Cr[1]))}],["accessTime",12,476,function(yr,br){return wr(yr[br[0]],br[1])},function(yr,br,Cr){return Ir(yr.slice(br,br+Cr[1]))}],["createTime",12,488,function(yr,br){return wr(yr[br[0]],br[1])},function(yr,br,Cr){return Ir(yr.slice(br,br+Cr[1]))}]],hr=(function(yr){var br=yr[yr.length-1];return br[2]+br[1]})(_r);function fr(yr){if(yr.length==8){var br=yr.split("");if(br[5]==rr.NULL_CHAR)return(br[6]==" "||br[6]==rr.NULL_CHAR)&&(br[6]="0"),(br[7]==" "||br[7]==rr.NULL_CHAR)&&(br[7]="0"),br=br.join(""),br==rr.TMAGIC?br:yr;if(br[7]==rr.NULL_CHAR)return br[5]==rr.NULL_CHAR&&(br[5]=" "),br[6]==rr.NULL_CHAR&&(br[6]=" "),br==rr.OLDGNU_MAGIC?br:yr}return yr}function gr(yr,br){return br-=1,tr.isUndefined(yr)&&(yr=""),yr=(""+yr).substr(0,br),yr+rr.NULL_CHAR}function xr(yr,br,Cr){for(Cr=parseInt(Cr)||0,br-=1,yr=(parseInt(yr)||Cr).toString(8).substr(-br,br);yr.length<br;)yr="0"+yr;return yr+rr.NULL_CHAR}function wr(yr,br){if(tr.isDateTime(yr))yr=Math.floor(1*yr/1e3);else if(yr=parseInt(yr,10),isFinite(yr)){if(yr<=0)return""}else yr=Math.floor(1*new Date/1e3);return xr(yr,br,0)}function Sr(yr,br){var Cr=String.fromCharCode.apply(null,yr);if(br)return Cr;var Fr=Cr.indexOf(rr.NULL_CHAR);return Fr>=0?Cr.substr(0,Fr):Cr}function vr(yr){var br=String.fromCharCode.apply(null,yr);return parseInt(br.replace(/^0+$/g,""),8)||0}function Ir(yr){return yr.length==0||yr[0]==0?null:new Date(1e3*vr(yr))}function Mr(yr,br,Cr){var Fr=parseInt(br,10)||0,Lr=Math.min(Fr+hr,yr.length),Ar=0,Or=0,Jr=0;Cr&&_r.every(function(ao){return ao[0]=="checksum"?(Or=Fr+ao[2],Jr=Or+ao[1],!1):!0});for(var Gr=32,oo=Fr;oo<Lr;oo++){var zr=oo>=Or&&oo<Jr?Gr:yr[oo];Ar=(Ar+zr)%262144}return Ar}B.exports.recordSize=ir,B.exports.defaultFileMode=lr,B.exports.defaultUid=dr,B.exports.defaultGid=mr,B.exports.posixHeader=_r,B.exports.effectiveHeaderSize=hr,B.exports.calculateChecksum=Mr,B.exports.formatTarString=gr,B.exports.formatTarNumber=xr,B.exports.formatTarDateTime=wr,B.exports.parseTarString=Sr,B.exports.parseTarNumber=vr,B.exports.parseTarDateTime=Ir}),er=D$1((I,B)=>{u$1();var tr=x(),rr=w(),ir=L();function lr(gr){return ir.recordSize}function dr(gr){return Math.ceil(gr.data.length/ir.recordSize)*ir.recordSize}function mr(gr){var xr=0;return gr.forEach(function(wr){xr+=lr()+dr(wr)}),xr+=ir.recordSize*2,new Uint8Array(xr)}function _r(gr,xr,wr){wr=parseInt(wr)||0;var Sr=wr;ir.posixHeader.forEach(function(br){for(var Cr=br[3](xr,br),Fr=Cr.length,Lr=0;Lr<Fr;Lr+=1)gr[Sr+Lr]=Cr.charCodeAt(Lr)&255;Sr+=br[1]});var vr=rr.find(ir.posixHeader,function(br){return br[0]=="checksum"});if(vr){var Ir=ir.calculateChecksum(gr,wr,!0),Mr=ir.formatTarNumber(Ir,vr[1]-2)+tr.NULL_CHAR+" ";Sr=wr+vr[2];for(var yr=0;yr<Mr.length;yr+=1)gr[Sr]=Mr.charCodeAt(yr)&255,Sr++}return wr+lr()}function hr(gr,xr,wr){return wr=parseInt(wr,10)||0,gr.set(xr.data,wr),wr+dr(xr)}function fr(gr){gr=rr.map(gr,function(Sr){return rr.extend({},Sr,{data:rr.toUint8Array(Sr.data)})});var xr=mr(gr),wr=0;return gr.forEach(function(Sr){wr=_r(xr,Sr,wr),wr=hr(xr,Sr,wr)}),xr}B.exports.tar=fr}),nr=D$1((I,B)=>{u$1();var tr=x(),rr=w(),ir=L(),lr={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},dr={size:!0,checksum:!0,ustar:!0},mr={unexpectedEndOfFile:"Unexpected end of file.",fileCorrupted:"File is corrupted.",checksumCheckFailed:"Checksum check failed."};function _r(vr){return ir.recordSize}function hr(vr){return Math.ceil(vr/ir.recordSize)*ir.recordSize}function fr(vr,Ir){for(var Mr=Ir,yr=Math.min(vr.length,Ir+ir.recordSize*2),br=Mr;br<yr;br++)if(vr[br]!=0)return!1;return!0}function gr(vr,Ir,Mr){if(vr.length-Ir<ir.recordSize){if(Mr.checkFileSize)throw new Error(mr.unexpectedEndOfFile);return null}Ir=parseInt(Ir)||0;var yr={},br=Ir;if(ir.posixHeader.forEach(function(Lr){yr[Lr[0]]=Lr[4](vr,br,Lr),br+=Lr[1]}),yr.type!=0&&(yr.size=0),Mr.checkHeader&&ir.posixHeader.forEach(function(Lr){if(rr.isFunction(Lr[5])&&!Lr[5](yr,Lr)){var Ar=new Error(mr.fileCorrupted);throw Ar.data={offset:Ir+Lr[2],field:Lr[0]},Ar}}),Mr.checkChecksum){var Cr=ir.calculateChecksum(vr,Ir,!0);if(Cr!=yr.checksum){var Fr=new Error(mr.checksumCheckFailed);throw Fr.data={offset:Ir,header:yr,checksum:Cr},Fr}}return yr}function xr(vr,Ir,Mr,yr){return yr.extractData?Mr.size<=0?new Uint8Array:vr.slice(Ir,Ir+Mr.size):null}function wr(vr,Ir){var Mr={};return ir.posixHeader.forEach(function(yr){var br=yr[0];dr[br]||(Mr[br]=vr[br])}),Mr.isOldGNUFormat=vr.ustar==tr.OLDGNU_MAGIC,Ir&&(Mr.data=Ir),Mr}function Sr(vr,Ir){Ir=rr.extend({},lr,Ir);for(var Mr=[],yr=0,br=vr.length;br-yr>=ir.recordSize;){vr=rr.toUint8Array(vr);var Cr=gr(vr,yr,Ir);if(!Cr)break;yr+=_r();var Fr=xr(vr,yr,Cr,Ir);if(Mr.push(wr(Cr,Fr)),yr+=hr(Cr.size),fr(vr,yr))break}return Mr}B.exports.untar=Sr}),or=D$1((I,B)=>{u$1();var tr=w(),rr=x(),ir=er(),lr=nr();tr.extend(B.exports,ir,lr,rr)});u$1();u$1();var g=L$2(or());async function H$1(I,B,tr="pgdata",rr="auto"){let ir=Br(I,B),[lr,dr]=await qr(ir,rr),mr=tr+(dr?".tar.gz":".tar"),_r=dr?"application/x-gzip":"application/x-tar";return typeof File<"u"?new File([lr],mr,{type:_r}):new Blob([lr],{type:_r})}var Hr=["application/x-gtar","application/x-tar+gzip","application/x-gzip","application/gzip"];async function ce$1(I,B,tr){let rr=new Uint8Array(await B.arrayBuffer()),ir=typeof File<"u"&&B instanceof File?B.name:void 0;(Hr.includes(B.type)||ir?.endsWith(".tgz")||ir?.endsWith(".tar.gz"))&&(rr=await ar(rr));let lr;try{lr=(0,g.untar)(rr)}catch(dr){if(dr instanceof Error&&dr.message.includes("File is corrupted"))rr=await ar(rr),lr=(0,g.untar)(rr);else throw dr}for(let dr of lr){let mr=tr+dr.name,_r=mr.split("/").slice(0,-1);for(let hr=1;hr<=_r.length;hr++){let fr=_r.slice(0,hr).join("/");I.analyzePath(fr).exists||I.mkdir(fr)}dr.type===g.REGTYPE?(I.writeFile(mr,dr.data),I.utime(mr,sr(dr.modifyTime),sr(dr.modifyTime))):dr.type===g.DIRTYPE&&I.mkdir(mr)}}function jr(I,B){let tr=[],rr=ir=>{I.readdir(ir).forEach(lr=>{if(lr==="."||lr==="..")return;let dr=ir+"/"+lr,mr=I.stat(dr),_r=I.isFile(mr.mode)?I.readFile(dr,{encoding:"binary"}):new Uint8Array(0);tr.push({name:dr.substring(B.length),mode:mr.mode,size:mr.size,type:I.isFile(mr.mode)?g.REGTYPE:g.DIRTYPE,modifyTime:mr.mtime,data:_r}),I.isDir(mr.mode)&&rr(dr)})};return rr(B),tr}function Br(I,B){let tr=jr(I,B);return(0,g.tar)(tr)}async function qr(I,B="auto"){if(B==="none")return[I,!1];if(typeof CompressionStream<"u")return[await Yr(I),!0];if(typeof process$1<"u"&&process$1.versions&&process$1.versions.node)return[await Wr(I),!0];if(B==="auto")return[I,!1];throw new Error("Compression not supported in this environment")}async function Yr(I){let B=new CompressionStream("gzip"),tr=B.writable.getWriter(),rr=B.readable.getReader();tr.write(I),tr.close();let ir=[];for(;;){let{value:mr,done:_r}=await rr.read();if(_r)break;mr&&ir.push(mr)}let lr=new Uint8Array(ir.reduce((mr,_r)=>mr+_r.length,0)),dr=0;return ir.forEach(mr=>{lr.set(mr,dr),dr+=mr.length}),lr}async function Wr(I){let{promisify:B}=await __vitePreload(()=>import("./reactor_browser-h6aSTneX.js").then(rr=>rr.aN),__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17])),{gzip:tr}=await __vitePreload(async()=>{const{gzip:rr}=await import("./reactor_browser-h6aSTneX.js").then(ir=>ir.aN);return{gzip:rr}},__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17]));return await B(tr)(I)}async function ar(I){if(typeof CompressionStream<"u")return await Xr(I);if(typeof process$1<"u"&&process$1.versions&&process$1.versions.node)return await Kr(I);throw new Error("Unsupported environment for decompression")}async function Xr(I){let B=new DecompressionStream("gzip"),tr=B.writable.getWriter(),rr=B.readable.getReader();tr.write(I),tr.close();let ir=[];for(;;){let{value:mr,done:_r}=await rr.read();if(_r)break;mr&&ir.push(mr)}let lr=new Uint8Array(ir.reduce((mr,_r)=>mr+_r.length,0)),dr=0;return ir.forEach(mr=>{lr.set(mr,dr),dr+=mr.length}),lr}async function Kr(I){let{promisify:B}=await __vitePreload(()=>import("./reactor_browser-h6aSTneX.js").then(rr=>rr.aN),__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17])),{gunzip:tr}=await __vitePreload(async()=>{const{gunzip:rr}=await import("./reactor_browser-h6aSTneX.js").then(ir=>ir.aN);return{gunzip:rr}},__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17]));return await B(tr)(I)}function sr(I){return I?typeof I=="number"?I:Math.floor(I.getTime()/1e3):Math.floor(Date.now()/1e3)}var Vr="/tmp/pglite",C=Vr+"/base",ur=class{constructor(I){this.dataDir=I}async init(I,B){return this.pg=I,{emscriptenOpts:B}}async syncToFs(I){}async initialSyncFs(){}async closeFs(){}async dumpTar(I,B){return H$1(this.pg.Module.FS,C,I,B)}},cr=class{constructor(I,{debug:B=!1}={}){this.dataDir=I,this.debug=B}async syncToFs(I){}async initialSyncFs(){}async closeFs(){}async dumpTar(I,B){return H$1(this.pg.Module.FS,C,I,B)}async init(I,B){return this.pg=I,{emscriptenOpts:{...B,preRun:[...B.preRun||[],tr=>{let rr=Zr(tr,this);tr.FS.mkdir(C),tr.FS.mount(rr,{},C)}]}}}},pr={EBADF:8,EBADFD:127,EEXIST:20,EINVAL:28,EISDIR:31,ENODEV:43,ENOENT:44,ENOTDIR:54,ENOTEMPTY:55},Zr=(I,B)=>{let tr=I.FS,rr=B.debug?console.log:null,ir={tryFSOperation(lr){try{return lr()}catch(dr){throw dr.code?dr.code==="UNKNOWN"?new tr.ErrnoError(pr.EINVAL):new tr.ErrnoError(dr.code):dr}},mount(lr){return ir.createNode(null,"/",16895,0)},syncfs(lr,dr,mr){},createNode(lr,dr,mr,_r){if(!tr.isDir(mr)&&!tr.isFile(mr))throw new tr.ErrnoError(28);let hr=tr.createNode(lr,dr,mr);return hr.node_ops=ir.node_ops,hr.stream_ops=ir.stream_ops,hr},getMode:function(lr){return rr?.("getMode",lr),ir.tryFSOperation(()=>B.lstat(lr).mode)},realPath:function(lr){let dr=[];for(;lr.parent!==lr;)dr.push(lr.name),lr=lr.parent;return dr.push(lr.mount.opts.root),dr.reverse(),dr.join("/")},node_ops:{getattr(lr){rr?.("getattr",ir.realPath(lr));let dr=ir.realPath(lr);return ir.tryFSOperation(()=>{let mr=B.lstat(dr);return{...mr,dev:0,ino:lr.id,nlink:1,rdev:lr.rdev,atime:new Date(mr.atime),mtime:new Date(mr.mtime),ctime:new Date(mr.ctime)}})},setattr(lr,dr){rr?.("setattr",ir.realPath(lr),dr);let mr=ir.realPath(lr);ir.tryFSOperation(()=>{dr.mode!==void 0&&B.chmod(mr,dr.mode),dr.size!==void 0&&B.truncate(mr,dr.size),dr.timestamp!==void 0&&B.utimes(mr,dr.timestamp,dr.timestamp),dr.size!==void 0&&B.truncate(mr,dr.size)})},lookup(lr,dr){rr?.("lookup",ir.realPath(lr),dr);let mr=[ir.realPath(lr),dr].join("/"),_r=ir.getMode(mr);return ir.createNode(lr,dr,_r)},mknod(lr,dr,mr,_r){rr?.("mknod",ir.realPath(lr),dr,mr,_r);let hr=ir.createNode(lr,dr,mr,_r),fr=ir.realPath(hr);return ir.tryFSOperation(()=>(tr.isDir(hr.mode)?B.mkdir(fr,{mode:mr}):B.writeFile(fr,"",{mode:mr}),hr))},rename(lr,dr,mr){rr?.("rename",ir.realPath(lr),ir.realPath(dr),mr);let _r=ir.realPath(lr),hr=[ir.realPath(dr),mr].join("/");ir.tryFSOperation(()=>{B.rename(_r,hr)}),lr.name=mr},unlink(lr,dr){rr?.("unlink",ir.realPath(lr),dr);let mr=[ir.realPath(lr),dr].join("/");try{B.unlink(mr)}catch{}},rmdir(lr,dr){rr?.("rmdir",ir.realPath(lr),dr);let mr=[ir.realPath(lr),dr].join("/");return ir.tryFSOperation(()=>{B.rmdir(mr)})},readdir(lr){rr?.("readdir",ir.realPath(lr));let dr=ir.realPath(lr);return ir.tryFSOperation(()=>B.readdir(dr))},symlink(lr,dr,mr){throw rr?.("symlink",ir.realPath(lr),dr,mr),new tr.ErrnoError(63)},readlink(lr){throw rr?.("readlink",ir.realPath(lr)),new tr.ErrnoError(63)}},stream_ops:{open(lr){rr?.("open stream",ir.realPath(lr.node));let dr=ir.realPath(lr.node);return ir.tryFSOperation(()=>{tr.isFile(lr.node.mode)&&(lr.shared.refcount=1,lr.nfd=B.open(dr))})},close(lr){return rr?.("close stream",ir.realPath(lr.node)),ir.tryFSOperation(()=>{tr.isFile(lr.node.mode)&&lr.nfd&&--lr.shared.refcount===0&&B.close(lr.nfd)})},dup(lr){rr?.("dup stream",ir.realPath(lr.node)),lr.shared.refcount++},read(lr,dr,mr,_r,hr){return rr?.("read stream",ir.realPath(lr.node),mr,_r,hr),_r===0?0:ir.tryFSOperation(()=>B.read(lr.nfd,dr,mr,_r,hr))},write(lr,dr,mr,_r,hr){return rr?.("write stream",ir.realPath(lr.node),mr,_r,hr),ir.tryFSOperation(()=>B.write(lr.nfd,dr.buffer,mr,_r,hr))},llseek(lr,dr,mr){rr?.("llseek stream",ir.realPath(lr.node),dr,mr);let _r=dr;if(mr===1?_r+=lr.position:mr===2&&tr.isFile(lr.node.mode)&&ir.tryFSOperation(()=>{let hr=B.fstat(lr.nfd);_r+=hr.size}),_r<0)throw new tr.ErrnoError(28);return _r},mmap(lr,dr,mr,_r,hr){if(rr?.("mmap stream",ir.realPath(lr.node),dr,mr,_r,hr),!tr.isFile(lr.node.mode))throw new tr.ErrnoError(pr.ENODEV);let fr=I.mmapAlloc(dr);return ir.stream_ops.read(lr,I.HEAP8,fr,dr,mr),{ptr:fr,allocated:!0}},msync(lr,dr,mr,_r,hr){return rr?.("msync stream",ir.realPath(lr.node),mr,_r,hr),ir.stream_ops.write(lr,dr,0,_r,mr),0}}};return ir};u$1();u$1();u$1();var He=new Error("request for lock canceled"),We=function(I,B,tr,rr){function ir(lr){return lr instanceof tr?lr:new tr(function(dr){dr(lr)})}return new(tr||(tr=Promise))(function(lr,dr){function mr(fr){try{hr(rr.next(fr))}catch(gr){dr(gr)}}function _r(fr){try{hr(rr.throw(fr))}catch(gr){dr(gr)}}function hr(fr){fr.done?lr(fr.value):ir(fr.value).then(mr,_r)}hr((rr=rr.apply(I,[])).next())})},ce=class{constructor(I,B=He){this._value=I,this._cancelError=B,this._weightedQueues=[],this._weightedWaiters=[]}acquire(I=1){if(I<=0)throw new Error(`invalid weight ${I}: must be positive`);return new Promise((B,tr)=>{this._weightedQueues[I-1]||(this._weightedQueues[I-1]=[]),this._weightedQueues[I-1].push({resolve:B,reject:tr}),this._dispatch()})}runExclusive(I,B=1){return We(this,void 0,void 0,function*(){let[tr,rr]=yield this.acquire(B);try{return yield I(tr)}finally{rr()}})}waitForUnlock(I=1){if(I<=0)throw new Error(`invalid weight ${I}: must be positive`);return new Promise(B=>{this._weightedWaiters[I-1]||(this._weightedWaiters[I-1]=[]),this._weightedWaiters[I-1].push(B),this._dispatch()})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(I){this._value=I,this._dispatch()}release(I=1){if(I<=0)throw new Error(`invalid weight ${I}: must be positive`);this._value+=I,this._dispatch()}cancel(){this._weightedQueues.forEach(I=>I.forEach(B=>B.reject(this._cancelError))),this._weightedQueues=[]}_dispatch(){var I;for(let B=this._value;B>0;B--){let tr=(I=this._weightedQueues[B-1])===null||I===void 0?void 0:I.shift();if(!tr)continue;let rr=this._value,ir=B;this._value-=B,B=this._value+1,tr.resolve([rr,this._newReleaser(ir)])}this._drainUnlockWaiters()}_newReleaser(I){let B=!1;return()=>{B||(B=!0,this.release(I))}}_drainUnlockWaiters(){for(let I=this._value;I>0;I--)this._weightedWaiters[I-1]&&(this._weightedWaiters[I-1].forEach(B=>B()),this._weightedWaiters[I-1]=[])}},je=function(I,B,tr,rr){function ir(lr){return lr instanceof tr?lr:new tr(function(dr){dr(lr)})}return new(tr||(tr=Promise))(function(lr,dr){function mr(fr){try{hr(rr.next(fr))}catch(gr){dr(gr)}}function _r(fr){try{hr(rr.throw(fr))}catch(gr){dr(gr)}}function hr(fr){fr.done?lr(fr.value):ir(fr.value).then(mr,_r)}hr((rr=rr.apply(I,[])).next())})},H=class{constructor(I){this._semaphore=new ce(1,I)}acquire(){return je(this,void 0,void 0,function*(){let[,I]=yield this._semaphore.acquire();return I})}runExclusive(I){return this._semaphore.runExclusive(()=>I())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}};u$1();var Ie=L$2(or());async function ge(I){if(Fe$1){let B=await __vitePreload(()=>import("./reactor_browser-h6aSTneX.js").then(mr=>mr.aN),__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17])),tr=await __vitePreload(()=>import("./reactor_browser-h6aSTneX.js").then(mr=>mr.aN),__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17])),{Writable:rr}=await __vitePreload(async()=>{const{Writable:mr}=await import("./reactor_browser-h6aSTneX.js").then(_r=>_r.aN);return{Writable:mr}},__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17])),{pipeline:ir}=await __vitePreload(async()=>{const{pipeline:mr}=await import("./reactor_browser-h6aSTneX.js").then(_r=>_r.aN);return{pipeline:mr}},__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17]));if(!B.existsSync(I))throw new Error(`Extension bundle not found: ${I}`);let lr=tr.createGunzip(),dr=[];return await ir(B.createReadStream(I),lr,new rr({write(mr,_r,hr){dr.push(mr),hr()}})),new Blob(dr)}else{let B=await fetch(I.toString());if(!B.ok||!B.body)return null;if(B.headers.get("Content-Encoding")==="gzip")return B.blob();{let tr=new DecompressionStream("gzip");return new Response(B.body.pipeThrough(tr)).blob()}}}async function Pe(I,B){for(let tr in I.pg_extensions){let rr;try{rr=await I.pg_extensions[tr]}catch(ir){console.error("Failed to fetch extension:",tr,ir);continue}if(rr){let ir=new Uint8Array(await rr.arrayBuffer());Ve(I,tr,ir,B)}else console.error("Could not get binary data for extension:",tr)}}function Ve(I,B,tr,rr){Ie.default.untar(tr).forEach(ir=>{if(!ir.name.startsWith(".")){let lr=I.WASM_PREFIX+"/"+ir.name;if(ir.name.endsWith(".so")){let dr=(..._r)=>{rr("pgfs:ext OK",lr,_r)},mr=(..._r)=>{rr("pgfs:ext FAIL",lr,_r)};I.FS.createPreloadedFile(Ke(lr),ir.name.split("/").pop().slice(0,-3),ir.data,!0,!0,dr,mr,!1)}else I.FS.writeFile(lr,ir.data)}})}function Ke(I){let B=I.lastIndexOf("/");return B>0?I.slice(0,B):I}u$1();u$1();var ee=class extends ur{async init(I,B){return this.pg=I,{emscriptenOpts:{...B,preRun:[...B.preRun||[],tr=>{let rr=tr.FS.filesystems.IDBFS;tr.FS.mkdir("/pglite"),tr.FS.mkdir(`/pglite/${this.dataDir}`),tr.FS.mount(rr,{},`/pglite/${this.dataDir}`),tr.FS.symlink(`/pglite/${this.dataDir}`,C)}]}}}initialSyncFs(){return new Promise((I,B)=>{this.pg.Module.FS.syncfs(!0,tr=>{tr?B(tr):I()})})}syncToFs(I){return new Promise((B,tr)=>{this.pg.Module.FS.syncfs(!1,rr=>{rr?tr(rr):B()})})}async closeFs(){let I=this.pg.Module.FS.filesystems.IDBFS.dbs[this.dataDir];I&&I.close(),this.pg.Module.FS.quit()}};u$1();var te=class extends ur{async closeFs(){this.pg.Module.FS.quit()}};function Fe(I){let B;if(I?.startsWith("file://")){if(I=I.slice(7),!I)throw new Error("Invalid dataDir, must be a valid path");B="nodefs"}else I?.startsWith("idb://")?(I=I.slice(6),B="idbfs"):I?.startsWith("opfs-ahp://")?(I=I.slice(11),B="opfs-ahp"):!I||I?.startsWith("memory://")?B="memoryfs":B="nodefs";return{dataDir:I,fsType:B}}async function Ae(I,B){let tr;if(I&&B==="nodefs"){let{NodeFS:rr}=await __vitePreload(()=>import("./nodefs-DTI9wPNC.js"),__vite__mapDeps([18,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19]));tr=new rr(I)}else if(I&&B==="idbfs")tr=new ee(I);else if(I&&B==="opfs-ahp"){let{OpfsAhpFS:rr}=await __vitePreload(()=>import("./opfs-ahp-gTaseGJ8.js"),__vite__mapDeps([20,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19]));tr=new rr(I)}else tr=new te;return tr}u$1();u$1();var Qe=(()=>{var _scriptName=import.meta.url;return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((I,B)=>{readyPromiseResolve=I,readyPromiseReject=B}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process$1=="object"&&typeof process$1.versions=="object"&&typeof process$1.versions.node=="string"&&process$1.type!="renderer";if(ENVIRONMENT_IS_NODE){let{createRequire:I}=await __vitePreload(()=>import("./reactor_browser-h6aSTneX.js").then(tr=>tr.aN),__vite__mapDeps([3,4,1,5,6,7,8,9,10,0,2,11,12,13,14,15,16,17])),B=import.meta.url;B.startsWith("data:")&&(B="/");var require=I(B)}Module.expectedDataFileDownloads??(Module.expectedDataFileDownloads=0),Module.expectedDataFileDownloads++,(()=>{var I=typeof ENVIRONMENT_IS_PTHREAD<"u"&&ENVIRONMENT_IS_PTHREAD,B=typeof ENVIRONMENT_IS_WASM_WORKER<"u"&&ENVIRONMENT_IS_WASM_WORKER;if(I||B)return;var tr=typeof process$1=="object"&&typeof process$1.versions=="object"&&typeof process$1.versions.node=="string";function rr(ir){typeof window=="object"?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):typeof process$1>"u"&&typeof location<"u"&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var lr="postgres.data",dr="postgres.data",mr=Module.locateFile?Module.locateFile(dr,""):dr,_r=ir.remote_package_size;function hr(Sr,vr,Ir,Mr){if(tr){require("fs").readFile(Sr,(yr,br)=>{yr?Mr(yr):Ir(br.buffer)});return}Module.dataFileDownloads??(Module.dataFileDownloads={}),fetch(Sr).catch(yr=>Promise.reject(new Error(`Network Error: ${Sr}`,{cause:yr}))).then(yr=>{if(!yr.ok)return Promise.reject(new Error(`${yr.status}: ${yr.url}`));if(!yr.body&&yr.arrayBuffer)return yr.arrayBuffer().then(Ir);let br=yr.body.getReader(),Cr=()=>br.read().then(Jr).catch(Gr=>Promise.reject(new Error(`Unexpected error while handling : ${yr.url} ${Gr}`,{cause:Gr}))),Fr=[],Lr=yr.headers,Ar=Number(Lr.get("Content-Length")??vr),Or=0,Jr=({done:Gr,value:oo})=>{if(Gr){let zr=new Uint8Array(Fr.map(no=>no.length).reduce((no,Eo)=>no+Eo,0)),ao=0;for(let no of Fr)zr.set(no,ao),ao+=no.length;Ir(zr.buffer)}else{Fr.push(oo),Or+=oo.length,Module.dataFileDownloads[Sr]={loaded:Or,total:Ar};let zr=0,ao=0;for(let no of Object.values(Module.dataFileDownloads))zr+=no.loaded,ao+=no.total;return Module.setStatus?.(`Downloading data... (${zr}/${ao})`),Cr()}};return Module.setStatus?.("Downloading data..."),Cr()})}function fr(Sr){console.error("package error:",Sr)}var gr=null,xr=Module.getPreloadedPackage?Module.getPreloadedPackage(mr,_r):null;xr||hr(mr,_r,Sr=>{gr?(gr(Sr),gr=null):xr=Sr},fr);function wr(Sr){function vr(Cr,Fr){if(!Cr)throw Fr+new Error().stack}Sr.FS_createPath("/","home",!0,!0),Sr.FS_createPath("/home","web_user",!0,!0),Sr.FS_createPath("/","tmp",!0,!0),Sr.FS_createPath("/tmp","pglite",!0,!0),Sr.FS_createPath("/tmp/pglite","bin",!0,!0),Sr.FS_createPath("/tmp/pglite","lib",!0,!0),Sr.FS_createPath("/tmp/pglite/lib","postgresql",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql","pgxs",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs","config",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs","src",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs/src","makefiles",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs/src","test",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs/src/test","isolation",!0,!0),Sr.FS_createPath("/tmp/pglite/lib/postgresql/pgxs/src/test","regress",!0,!0),Sr.FS_createPath("/tmp/pglite","share",!0,!0),Sr.FS_createPath("/tmp/pglite/share","postgresql",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql","extension",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql","timezone",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Africa",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","America",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Argentina",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Indiana",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","Kentucky",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone/America","North_Dakota",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Antarctica",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Arctic",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Asia",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Atlantic",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Australia",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Brazil",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Canada",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Chile",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Etc",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Europe",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Indian",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Mexico",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","Pacific",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql/timezone","US",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql","timezonesets",!0,!0),Sr.FS_createPath("/tmp/pglite/share/postgresql","tsearch_data",!0,!0);function Ir(Cr,Fr,Lr){this.start=Cr,this.end=Fr,this.audio=Lr}Ir.prototype={requests:{},open:function(Cr,Fr){this.name=Fr,this.requests[Fr]=this,Sr.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var Cr=this.byteArray.subarray(this.start,this.end);this.finish(Cr)},finish:function(Cr){var Fr=this;Sr.FS_createDataFile(this.name,null,Cr,!0,!0,!0),Sr.removeRunDependency(`fp ${Fr.name}`),this.requests[this.name]=null}};for(var Mr=ir.files,yr=0;yr<Mr.length;++yr)new Ir(Mr[yr].start,Mr[yr].end,Mr[yr].audio||0).open("GET",Mr[yr].filename);function br(Cr){vr(Cr,"Loading data file failed."),vr(Cr.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var Fr=new Uint8Array(Cr);Ir.prototype.byteArray=Fr;for(var Lr=ir.files,Ar=0;Ar<Lr.length;++Ar)Ir.prototype.requests[Lr[Ar].filename].onload();Sr.removeRunDependency("datafile_postgres.data")}Sr.addRunDependency("datafile_postgres.data"),Sr.preloadResults??(Sr.preloadResults={}),Sr.preloadResults[lr]={fromCache:!1},xr?(br(xr),xr=null):gr=br}Module.calledRun?wr(Module):(Module.preRun??(Module.preRun=[])).push(wr)}rr({files:[{filename:"/home/web_user/.pgpass",start:0,end:204},{filename:"/tmp/pglite/bin/initdb",start:204,end:216},{filename:"/tmp/pglite/bin/postgres",start:216,end:228},{filename:"/tmp/pglite/lib/postgresql/cyrillic_and_mic.so",start:228,end:20397},{filename:"/tmp/pglite/lib/postgresql/dict_snowball.so",start:20397,end:1581299},{filename:"/tmp/pglite/lib/postgresql/euc2004_sjis2004.so",start:1581299,end:1592382},{filename:"/tmp/pglite/lib/postgresql/euc_cn_and_mic.so",start:1592382,end:1599256},{filename:"/tmp/pglite/lib/postgresql/euc_jp_and_sjis.so",start:1599256,end:1622931},{filename:"/tmp/pglite/lib/postgresql/euc_kr_and_mic.so",start:1622931,end:1630057},{filename:"/tmp/pglite/lib/postgresql/euc_tw_and_big5.so",start:1630057,end:1651566},{filename:"/tmp/pglite/lib/postgresql/latin2_and_win1250.so",start:1651566,end:1660345},{filename:"/tmp/pglite/lib/postgresql/latin_and_mic.so",start:1660345,end:1668272},{filename:"/tmp/pglite/lib/postgresql/libpqwalreceiver.so",start:1668272,end:2186522},{filename:"/tmp/pglite/lib/postgresql/pgoutput.so",start:2186522,end:2303364},{filename:"/tmp/pglite/lib/postgresql/pgxs/config/install-sh",start:2303364,end:2317361},{filename:"/tmp/pglite/lib/postgresql/pgxs/config/missing",start:2317361,end:2318709},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.global",start:2318709,end:2354956},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.port",start:2354956,end:2355232},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/Makefile.shlib",start:2355232,end:2371270},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/makefiles/pgxs.mk",start:2371270,end:2386198},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/nls-global.mk",start:2386198,end:2393083},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/test/isolation/isolationtester.cjs",start:2393083,end:2589770},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/test/isolation/pg_isolation_regress.cjs",start:2589770,end:2742128},{filename:"/tmp/pglite/lib/postgresql/pgxs/src/test/regress/pg_regress.cjs",start:2742128,end:2894476},{filename:"/tmp/pglite/lib/postgresql/plpgsql.so",start:2894476,end:3653241},{filename:"/tmp/pglite/password",start:3653241,end:3653250},{filename:"/tmp/pglite/share/postgresql/errcodes.txt",start:3653250,end:3686708},{filename:"/tmp/pglite/share/postgresql/extension/plpgsql--1.0.sql",start:3686708,end:3687366},{filename:"/tmp/pglite/share/postgresql/extension/plpgsql.control",start:3687366,end:3687559},{filename:"/tmp/pglite/share/postgresql/fix-CVE-2024-4317.sql",start:3687559,end:3693324},{filename:"/tmp/pglite/share/postgresql/information_schema.sql",start:3693324,end:3808299},{filename:"/tmp/pglite/share/postgresql/pg_hba.conf.sample",start:3808299,end:3813924},{filename:"/tmp/pglite/share/postgresql/pg_ident.conf.sample",start:3813924,end:3816564},{filename:"/tmp/pglite/share/postgresql/pg_service.conf.sample",start:3816564,end:3817168},{filename:"/tmp/pglite/share/postgresql/postgres.bki",start:3817168,end:4761272},{filename:"/tmp/pglite/share/postgresql/postgresql.conf.sample",start:4761272,end:4790919},{filename:"/tmp/pglite/share/postgresql/psqlrc.sample",start:4790919,end:4791197},{filename:"/tmp/pglite/share/postgresql/snowball_create.sql",start:4791197,end:4835373},{filename:"/tmp/pglite/share/postgresql/sql_features.txt",start:4835373,end:4871054},{filename:"/tmp/pglite/share/postgresql/system_constraints.sql",start:4871054,end:4879949},{filename:"/tmp/pglite/share/postgresql/system_functions.sql",start:4879949,end:4903264},{filename:"/tmp/pglite/share/postgresql/system_views.sql",start:4903264,end:4953537},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Abidjan",start:4953537,end:4953667},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Accra",start:4953667,end:4953797},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Addis_Ababa",start:4953797,end:4953988},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Algiers",start:4953988,end:4954458},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Asmara",start:4954458,end:4954649},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Asmera",start:4954649,end:4954840},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bamako",start:4954840,end:4954970},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bangui",start:4954970,end:4955150},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Banjul",start:4955150,end:4955280},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bissau",start:4955280,end:4955429},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Blantyre",start:4955429,end:4955560},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Brazzaville",start:4955560,end:4955740},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Bujumbura",start:4955740,end:4955871},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Cairo",start:4955871,end:4957180},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Casablanca",start:4957180,end:4959099},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ceuta",start:4959099,end:4959661},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Conakry",start:4959661,end:4959791},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Dakar",start:4959791,end:4959921},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Dar_es_Salaam",start:4959921,end:4960112},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Djibouti",start:4960112,end:4960303},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Douala",start:4960303,end:4960483},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/El_Aaiun",start:4960483,end:4962313},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Freetown",start:4962313,end:4962443},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Gaborone",start:4962443,end:4962574},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Harare",start:4962574,end:4962705},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Johannesburg",start:4962705,end:4962895},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Juba",start:4962895,end:4963353},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kampala",start:4963353,end:4963544},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Khartoum",start:4963544,end:4964002},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kigali",start:4964002,end:4964133},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Kinshasa",start:4964133,end:4964313},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lagos",start:4964313,end:4964493},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Libreville",start:4964493,end:4964673},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lome",start:4964673,end:4964803},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Luanda",start:4964803,end:4964983},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lubumbashi",start:4964983,end:4965114},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Lusaka",start:4965114,end:4965245},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Malabo",start:4965245,end:4965425},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Maputo",start:4965425,end:4965556},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Maseru",start:4965556,end:4965746},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Mbabane",start:4965746,end:4965936},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Mogadishu",start:4965936,end:4966127},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Monrovia",start:4966127,end:4966291},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Nairobi",start:4966291,end:4966482},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ndjamena",start:4966482,end:4966642},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Niamey",start:4966642,end:4966822},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Nouakchott",start:4966822,end:4966952},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Ouagadougou",start:4966952,end:4967082},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Porto-Novo",start:4967082,end:4967262},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Sao_Tome",start:4967262,end:4967435},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Timbuktu",start:4967435,end:4967565},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Tripoli",start:4967565,end:4967996},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Tunis",start:4967996,end:4968445},{filename:"/tmp/pglite/share/postgresql/timezone/Africa/Windhoek",start:4968445,end:4969083},{filename:"/tmp/pglite/share/postgresql/timezone/America/Adak",start:4969083,end:4970052},{filename:"/tmp/pglite/share/postgresql/timezone/America/Anchorage",start:4970052,end:4971029},{filename:"/tmp/pglite/share/postgresql/timezone/America/Anguilla",start:4971029,end:4971206},{filename:"/tmp/pglite/share/postgresql/timezone/America/Antigua",start:4971206,end:4971383},{filename:"/tmp/pglite/share/postgresql/timezone/America/Araguaina",start:4971383,end:4971975},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Buenos_Aires",start:4971975,end:4972683},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Catamarca",start:4972683,end:4973391},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/ComodRivadavia",start:4973391,end:4974099},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Cordoba",start:4974099,end:4974807},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Jujuy",start:4974807,end:4975497},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/La_Rioja",start:4975497,end:4976214},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Mendoza",start:4976214,end:4976922},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Rio_Gallegos",start:4976922,end:4977630},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Salta",start:4977630,end:4978320},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/San_Juan",start:4978320,end:4979037},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/San_Luis",start:4979037,end:4979754},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Tucuman",start:4979754,end:4980480},{filename:"/tmp/pglite/share/postgresql/timezone/America/Argentina/Ushuaia",start:4980480,end:4981188},{filename:"/tmp/pglite/share/postgresql/timezone/America/Aruba",start:4981188,end:4981365},{filename:"/tmp/pglite/share/postgresql/timezone/America/Asuncion",start:4981365,end:4982249},{filename:"/tmp/pglite/share/postgresql/timezone/America/Atikokan",start:4982249,end:4982398},{filename:"/tmp/pglite/share/postgresql/timezone/America/Atka",start:4982398,end:4983367},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bahia",start:4983367,end:4984049},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bahia_Banderas",start:4984049,end:4984777},{filename:"/tmp/pglite/share/postgresql/timezone/America/Barbados",start:4984777,end:4985055},{filename:"/tmp/pglite/share/postgresql/timezone/America/Belem",start:4985055,end:4985449},{filename:"/tmp/pglite/share/postgresql/timezone/America/Belize",start:4985449,end:4986494},{filename:"/tmp/pglite/share/postgresql/timezone/America/Blanc-Sablon",start:4986494,end:4986671},{filename:"/tmp/pglite/share/postgresql/timezone/America/Boa_Vista",start:4986671,end:4987101},{filename:"/tmp/pglite/share/postgresql/timezone/America/Bogota",start:4987101,end:4987280},{filename:"/tmp/pglite/share/postgresql/timezone/America/Boise",start:4987280,end:4988279},{filename:"/tmp/pglite/share/postgresql/timezone/America/Buenos_Aires",start:4988279,end:4988987},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cambridge_Bay",start:4988987,end:4989870},{filename:"/tmp/pglite/share/postgresql/timezone/America/Campo_Grande",start:4989870,end:4990822},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cancun",start:4990822,end:4991351},{filename:"/tmp/pglite/share/postgresql/timezone/America/Caracas",start:4991351,end:4991541},{filename:"/tmp/pglite/share/postgresql/timezone/America/Catamarca",start:4991541,end:4992249},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cayenne",start:4992249,end:4992400},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cayman",start:4992400,end:4992549},{filename:"/tmp/pglite/share/postgresql/timezone/America/Chicago",start:4992549,end:4994303},{filename:"/tmp/pglite/share/postgresql/timezone/America/Chihuahua",start:4994303,end:4994994},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ciudad_Juarez",start:4994994,end:4995712},{filename:"/tmp/pglite/share/postgresql/timezone/America/Coral_Harbour",start:4995712,end:4995861},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cordoba",start:4995861,end:4996569},{filename:"/tmp/pglite/share/postgresql/timezone/America/Costa_Rica",start:4996569,end:4996801},{filename:"/tmp/pglite/share/postgresql/timezone/America/Creston",start:4996801,end:4997041},{filename:"/tmp/pglite/share/postgresql/timezone/America/Cuiaba",start:4997041,end:4997975},{filename:"/tmp/pglite/share/postgresql/timezone/America/Curacao",start:4997975,end:4998152},{filename:"/tmp/pglite/share/postgresql/timezone/America/Danmarkshavn",start:4998152,end:4998599},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dawson",start:4998599,end:4999628},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dawson_Creek",start:4999628,end:5000311},{filename:"/tmp/pglite/share/postgresql/timezone/America/Denver",start:5000311,end:5001353},{filename:"/tmp/pglite/share/postgresql/timezone/America/Detroit",start:5001353,end:5002252},{filename:"/tmp/pglite/share/postgresql/timezone/America/Dominica",start:5002252,end:5002429},{filename:"/tmp/pglite/share/postgresql/timezone/America/Edmonton",start:5002429,end:5003399},{filename:"/tmp/pglite/share/postgresql/timezone/America/Eirunepe",start:5003399,end:5003835},{filename:"/tmp/pglite/share/postgresql/timezone/America/El_Salvador",start:5003835,end:5004011},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ensenada",start:5004011,end:5005036},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fort_Nelson",start:5005036,end:5006484},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fort_Wayne",start:5006484,end:5007015},{filename:"/tmp/pglite/share/postgresql/timezone/America/Fortaleza",start:5007015,end:5007499},{filename:"/tmp/pglite/share/postgresql/timezone/America/Glace_Bay",start:5007499,end:5008379},{filename:"/tmp/pglite/share/postgresql/timezone/America/Godthab",start:5008379,end:5009344},{filename:"/tmp/pglite/share/postgresql/timezone/America/Goose_Bay",start:5009344,end:5010924},{filename:"/tmp/pglite/share/postgresql/timezone/America/Grand_Turk",start:5010924,end:5011777},{filename:"/tmp/pglite/share/postgresql/timezone/America/Grenada",start:5011777,end:5011954},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guadeloupe",start:5011954,end:5012131},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guatemala",start:5012131,end:5012343},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guayaquil",start:5012343,end:5012522},{filename:"/tmp/pglite/share/postgresql/timezone/America/Guyana",start:5012522,end:5012703},{filename:"/tmp/pglite/share/postgresql/timezone/America/Halifax",start:5012703,end:5014375},{filename:"/tmp/pglite/share/postgresql/timezone/America/Havana",start:5014375,end:5015492},{filename:"/tmp/pglite/share/postgresql/timezone/America/Hermosillo",start:5015492,end:5015778},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Indianapolis",start:5015778,end:5016309},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Knox",start:5016309,end:5017325},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Marengo",start:5017325,end:5017892},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Petersburg",start:5017892,end:5018575},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Tell_City",start:5018575,end:5019097},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Vevay",start:5019097,end:5019466},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Vincennes",start:5019466,end:5020024},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indiana/Winamac",start:5020024,end:5020636},{filename:"/tmp/pglite/share/postgresql/timezone/America/Indianapolis",start:5020636,end:5021167},{filename:"/tmp/pglite/share/postgresql/timezone/America/Inuvik",start:5021167,end:5021984},{filename:"/tmp/pglite/share/postgresql/timezone/America/Iqaluit",start:5021984,end:5022839},{filename:"/tmp/pglite/share/postgresql/timezone/America/Jamaica",start:5022839,end:5023178},{filename:"/tmp/pglite/share/postgresql/timezone/America/Jujuy",start:5023178,end:5023868},{filename:"/tmp/pglite/share/postgresql/timezone/America/Juneau",start:5023868,end:5024834},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kentucky/Louisville",start:5024834,end:5026076},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kentucky/Monticello",start:5026076,end:5027048},{filename:"/tmp/pglite/share/postgresql/timezone/America/Knox_IN",start:5027048,end:5028064},{filename:"/tmp/pglite/share/postgresql/timezone/America/Kralendijk",start:5028064,end:5028241},{filename:"/tmp/pglite/share/postgresql/timezone/America/La_Paz",start:5028241,end:5028411},{filename:"/tmp/pglite/share/postgresql/timezone/America/Lima",start:5028411,end:5028694},{filename:"/tmp/pglite/share/postgresql/timezone/America/Los_Angeles",start:5028694,end:5029988},{filename:"/tmp/pglite/share/postgresql/timezone/America/Louisville",start:5029988,end:5031230},{filename:"/tmp/pglite/share/postgresql/timezone/America/Lower_Princes",start:5031230,end:5031407},{filename:"/tmp/pglite/share/postgresql/timezone/America/Maceio",start:5031407,end:5031909},{filename:"/tmp/pglite/share/postgresql/timezone/America/Managua",start:5031909,end:5032204},{filename:"/tmp/pglite/share/postgresql/timezone/America/Manaus",start:5032204,end:5032616},{filename:"/tmp/pglite/share/postgresql/timezone/America/Marigot",start:5032616,end:5032793},{filename:"/tmp/pglite/share/postgresql/timezone/America/Martinique",start:5032793,end:5032971},{filename:"/tmp/pglite/share/postgresql/timezone/America/Matamoros",start:5032971,end:5033408},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mazatlan",start:5033408,end:5034126},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mendoza",start:5034126,end:5034834},{filename:"/tmp/pglite/share/postgresql/timezone/America/Menominee",start:5034834,end:5035751},{filename:"/tmp/pglite/share/postgresql/timezone/America/Merida",start:5035751,end:5036405},{filename:"/tmp/pglite/share/postgresql/timezone/America/Metlakatla",start:5036405,end:5037e3},{filename:"/tmp/pglite/share/postgresql/timezone/America/Mexico_City",start:5037e3,end:5037773},{filename:"/tmp/pglite/share/postgresql/timezone/America/Miquelon",start:5037773,end:5038323},{filename:"/tmp/pglite/share/postgresql/timezone/America/Moncton",start:5038323,end:5039816},{filename:"/tmp/pglite/share/postgresql/timezone/America/Monterrey",start:5039816,end:5040460},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montevideo",start:5040460,end:5041429},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montreal",start:5041429,end:5043146},{filename:"/tmp/pglite/share/postgresql/timezone/America/Montserrat",start:5043146,end:5043323},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nassau",start:5043323,end:5045040},{filename:"/tmp/pglite/share/postgresql/timezone/America/New_York",start:5045040,end:5046784},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nipigon",start:5046784,end:5048501},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nome",start:5048501,end:5049476},{filename:"/tmp/pglite/share/postgresql/timezone/America/Noronha",start:5049476,end:5049960},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/Beulah",start:5049960,end:5051003},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/Center",start:5051003,end:5051993},{filename:"/tmp/pglite/share/postgresql/timezone/America/North_Dakota/New_Salem",start:5051993,end:5052983},{filename:"/tmp/pglite/share/postgresql/timezone/America/Nuuk",start:5052983,end:5053948},{filename:"/tmp/pglite/share/postgresql/timezone/America/Ojinaga",start:5053948,end:5054657},{filename:"/tmp/pglite/share/postgresql/timezone/America/Panama",start:5054657,end:5054806},{filename:"/tmp/pglite/share/postgresql/timezone/America/Pangnirtung",start:5054806,end:5055661},{filename:"/tmp/pglite/share/postgresql/timezone/America/Paramaribo",start:5055661,end:5055848},{filename:"/tmp/pglite/share/postgresql/timezone/America/Phoenix",start:5055848,end:5056088},{filename:"/tmp/pglite/share/postgresql/timezone/America/Port-au-Prince",start:5056088,end:5056653},{filename:"/tmp/pglite/share/postgresql/timezone/America/Port_of_Spain",start:5056653,end:5056830},{filename:"/tmp/pglite/share/postgresql/timezone/America/Porto_Acre",start:5056830,end:5057248},{filename:"/tmp/pglite/share/postgresql/timezone/America/Porto_Velho",start:5057248,end:5057642},{filename:"/tmp/pglite/share/postgresql/timezone/America/Puerto_Rico",start:5057642,end:5057819},{filename:"/tmp/pglite/share/postgresql/timezone/America/Punta_Arenas",start:5057819,end:5059037},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rainy_River",start:5059037,end:5060331},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rankin_Inlet",start:5060331,end:5061138},{filename:"/tmp/pglite/share/postgresql/timezone/America/Recife",start:5061138,end:5061622},{filename:"/tmp/pglite/share/postgresql/timezone/America/Regina",start:5061622,end:5062260},{filename:"/tmp/pglite/share/postgresql/timezone/America/Resolute",start:5062260,end:5063067},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rio_Branco",start:5063067,end:5063485},{filename:"/tmp/pglite/share/postgresql/timezone/America/Rosario",start:5063485,end:5064193},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santa_Isabel",start:5064193,end:5065218},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santarem",start:5065218,end:5065627},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santiago",start:5065627,end:5066981},{filename:"/tmp/pglite/share/postgresql/timezone/America/Santo_Domingo",start:5066981,end:5067298},{filename:"/tmp/pglite/share/postgresql/timezone/America/Sao_Paulo",start:5067298,end:5068250},{filename:"/tmp/pglite/share/postgresql/timezone/America/Scoresbysund",start:5068250,end:5069234},{filename:"/tmp/pglite/share/postgresql/timezone/America/Shiprock",start:5069234,end:5070276},{filename:"/tmp/pglite/share/postgresql/timezone/America/Sitka",start:5070276,end:5071232},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Barthelemy",start:5071232,end:5071409},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Johns",start:5071409,end:5073287},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Kitts",start:5073287,end:5073464},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Lucia",start:5073464,end:5073641},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Thomas",start:5073641,end:5073818},{filename:"/tmp/pglite/share/postgresql/timezone/America/St_Vincent",start:5073818,end:5073995},{filename:"/tmp/pglite/share/postgresql/timezone/America/Swift_Current",start:5073995,end:5074363},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tegucigalpa",start:5074363,end:5074557},{filename:"/tmp/pglite/share/postgresql/timezone/America/Thule",start:5074557,end:5075012},{filename:"/tmp/pglite/share/postgresql/timezone/America/Thunder_Bay",start:5075012,end:5076729},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tijuana",start:5076729,end:5077754},{filename:"/tmp/pglite/share/postgresql/timezone/America/Toronto",start:5077754,end:5079471},{filename:"/tmp/pglite/share/postgresql/timezone/America/Tortola",start:5079471,end:5079648},{filename:"/tmp/pglite/share/postgresql/timezone/America/Vancouver",start:5079648,end:5080978},{filename:"/tmp/pglite/share/postgresql/timezone/America/Virgin",start:5080978,end:5081155},{filename:"/tmp/pglite/share/postgresql/timezone/America/Whitehorse",start:5081155,end:5082184},{filename:"/tmp/pglite/share/postgresql/timezone/America/Winnipeg",start:5082184,end:5083478},{filename:"/tmp/pglite/share/postgresql/timezone/America/Yakutat",start:5083478,end:5084424},{filename:"/tmp/pglite/share/postgresql/timezone/America/Yellowknife",start:5084424,end:5085394},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Casey",start:5085394,end:5085681},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Davis",start:5085681,end:5085878},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/DumontDUrville",start:5085878,end:5086032},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Macquarie",start:5086032,end:5087008},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Mawson",start:5087008,end:5087160},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/McMurdo",start:5087160,end:5088203},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Palmer",start:5088203,end:5089090},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Rothera",start:5089090,end:5089222},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/South_Pole",start:5089222,end:5090265},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Syowa",start:5090265,end:5090398},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Troll",start:5090398,end:5090575},{filename:"/tmp/pglite/share/postgresql/timezone/Antarctica/Vostok",start:5090575,end:5090745},{filename:"/tmp/pglite/share/postgresql/timezone/Arctic/Longyearbyen",start:5090745,end:5091450},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aden",start:5091450,end:5091583},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Almaty",start:5091583,end:5092201},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Amman",start:5092201,end:5093129},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Anadyr",start:5093129,end:5093872},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aqtau",start:5093872,end:5094478},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Aqtobe",start:5094478,end:5095093},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ashgabat",start:5095093,end:5095468},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ashkhabad",start:5095468,end:5095843},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Atyrau",start:5095843,end:5096459},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Baghdad",start:5096459,end:5097089},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bahrain",start:5097089,end:5097241},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Baku",start:5097241,end:5097985},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bangkok",start:5097985,end:5098137},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Barnaul",start:5098137,end:5098890},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Beirut",start:5098890,end:5099622},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Bishkek",start:5099622,end:5100240},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Brunei",start:5100240,end:5100560},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Calcutta",start:5100560,end:5100780},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chita",start:5100780,end:5101530},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Choibalsan",start:5101530,end:5102149},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chongqing",start:5102149,end:5102542},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Chungking",start:5102542,end:5102935},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Colombo",start:5102935,end:5103182},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dacca",start:5103182,end:5103413},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Damascus",start:5103413,end:5104647},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dhaka",start:5104647,end:5104878},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dili",start:5104878,end:5105048},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dubai",start:5105048,end:5105181},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Dushanbe",start:5105181,end:5105547},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Famagusta",start:5105547,end:5106487},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Gaza",start:5106487,end:5108933},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Harbin",start:5108933,end:5109326},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hebron",start:5109326,end:5111790},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ho_Chi_Minh",start:5111790,end:5112026},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hong_Kong",start:5112026,end:5112801},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Hovd",start:5112801,end:5113395},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Irkutsk",start:5113395,end:5114155},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Istanbul",start:5114155,end:5115355},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jakarta",start:5115355,end:5115603},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jayapura",start:5115603,end:5115774},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Jerusalem",start:5115774,end:5116848},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kabul",start:5116848,end:5117007},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kamchatka",start:5117007,end:5117734},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Karachi",start:5117734,end:5118e3},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kashgar",start:5118e3,end:5118133},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kathmandu",start:5118133,end:5118294},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Katmandu",start:5118294,end:5118455},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Khandyga",start:5118455,end:5119230},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kolkata",start:5119230,end:5119450},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Krasnoyarsk",start:5119450,end:5120191},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuala_Lumpur",start:5120191,end:5120447},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuching",start:5120447,end:5120767},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Kuwait",start:5120767,end:5120900},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Macao",start:5120900,end:5121691},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Macau",start:5121691,end:5122482},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Magadan",start:5122482,end:5123233},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Makassar",start:5123233,end:5123423},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Manila",start:5123423,end:5123661},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Muscat",start:5123661,end:5123794},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Nicosia",start:5123794,end:5124391},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Novokuznetsk",start:5124391,end:5125117},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Novosibirsk",start:5125117,end:5125870},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Omsk",start:5125870,end:5126611},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Oral",start:5126611,end:5127236},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Phnom_Penh",start:5127236,end:5127388},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Pontianak",start:5127388,end:5127635},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Pyongyang",start:5127635,end:5127818},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qatar",start:5127818,end:5127970},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qostanay",start:5127970,end:5128594},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Qyzylorda",start:5128594,end:5129218},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Rangoon",start:5129218,end:5129405},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Riyadh",start:5129405,end:5129538},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Saigon",start:5129538,end:5129774},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Sakhalin",start:5129774,end:5130529},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Samarkand",start:5130529,end:5130895},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Seoul",start:5130895,end:5131310},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Shanghai",start:5131310,end:5131703},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Singapore",start:5131703,end:5131959},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Srednekolymsk",start:5131959,end:5132701},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Taipei",start:5132701,end:5133212},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tashkent",start:5133212,end:5133578},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tbilisi",start:5133578,end:5134207},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tehran",start:5134207,end:5135019},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tel_Aviv",start:5135019,end:5136093},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Thimbu",start:5136093,end:5136247},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Thimphu",start:5136247,end:5136401},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tokyo",start:5136401,end:5136614},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Tomsk",start:5136614,end:5137367},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ujung_Pandang",start:5137367,end:5137557},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ulaanbaatar",start:5137557,end:5138151},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ulan_Bator",start:5138151,end:5138745},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Urumqi",start:5138745,end:5138878},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Ust-Nera",start:5138878,end:5139649},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Vientiane",start:5139649,end:5139801},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Vladivostok",start:5139801,end:5140543},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yakutsk",start:5140543,end:5141284},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yangon",start:5141284,end:5141471},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yekaterinburg",start:5141471,end:5142231},{filename:"/tmp/pglite/share/postgresql/timezone/Asia/Yerevan",start:5142231,end:5142939},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Azores",start:5142939,end:5144392},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Bermuda",start:5144392,end:5145416},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Canary",start:5145416,end:5145894},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Cape_Verde",start:5145894,end:5146069},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Faeroe",start:5146069,end:5146510},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Faroe",start:5146510,end:5146951},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Jan_Mayen",start:5146951,end:5147656},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Madeira",start:5147656,end:5149109},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Reykjavik",start:5149109,end:5149239},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/South_Georgia",start:5149239,end:5149371},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/St_Helena",start:5149371,end:5149501},{filename:"/tmp/pglite/share/postgresql/timezone/Atlantic/Stanley",start:5149501,end:5150290},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/ACT",start:5150290,end:5151194},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Adelaide",start:5151194,end:5152115},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Brisbane",start:5152115,end:5152404},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Broken_Hill",start:5152404,end:5153345},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Canberra",start:5153345,end:5154249},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Currie",start:5154249,end:5155252},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Darwin",start:5155252,end:5155486},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Eucla",start:5155486,end:5155800},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Hobart",start:5155800,end:5156803},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/LHI",start:5156803,end:5157495},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Lindeman",start:5157495,end:5157820},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Lord_Howe",start:5157820,end:5158512},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Melbourne",start:5158512,end:5159416},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/NSW",start:5159416,end:5160320},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/North",start:5160320,end:5160554},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Perth",start:5160554,end:5160860},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Queensland",start:5160860,end:5161149},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/South",start:5161149,end:5162070},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Sydney",start:5162070,end:5162974},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Tasmania",start:5162974,end:5163977},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Victoria",start:5163977,end:5164881},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/West",start:5164881,end:5165187},{filename:"/tmp/pglite/share/postgresql/timezone/Australia/Yancowinna",start:5165187,end:5166128},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/Acre",start:5166128,end:5166546},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/DeNoronha",start:5166546,end:5167030},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/East",start:5167030,end:5167982},{filename:"/tmp/pglite/share/postgresql/timezone/Brazil/West",start:5167982,end:5168394},{filename:"/tmp/pglite/share/postgresql/timezone/CET",start:5168394,end:5169015},{filename:"/tmp/pglite/share/postgresql/timezone/CST6CDT",start:5169015,end:5169966},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Atlantic",start:5169966,end:5171638},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Central",start:5171638,end:5172932},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Eastern",start:5172932,end:5174649},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Mountain",start:5174649,end:5175619},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Newfoundland",start:5175619,end:5177497},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Pacific",start:5177497,end:5178827},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Saskatchewan",start:5178827,end:5179465},{filename:"/tmp/pglite/share/postgresql/timezone/Canada/Yukon",start:5179465,end:5180494},{filename:"/tmp/pglite/share/postgresql/timezone/Chile/Continental",start:5180494,end:5181848},{filename:"/tmp/pglite/share/postgresql/timezone/Chile/EasterIsland",start:5181848,end:5183022},{filename:"/tmp/pglite/share/postgresql/timezone/Cuba",start:5183022,end:5184139},{filename:"/tmp/pglite/share/postgresql/timezone/EET",start:5184139,end:5184636},{filename:"/tmp/pglite/share/postgresql/timezone/EST",start:5184636,end:5184747},{filename:"/tmp/pglite/share/postgresql/timezone/EST5EDT",start:5184747,end:5185698},{filename:"/tmp/pglite/share/postgresql/timezone/Egypt",start:5185698,end:5187007},{filename:"/tmp/pglite/share/postgresql/timezone/Eire",start:5187007,end:5188503},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT",start:5188503,end:5188614},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+0",start:5188614,end:5188725},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+1",start:5188725,end:5188838},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+10",start:5188838,end:5188952},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+11",start:5188952,end:5189066},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+12",start:5189066,end:5189180},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+2",start:5189180,end:5189293},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+3",start:5189293,end:5189406},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+4",start:5189406,end:5189519},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+5",start:5189519,end:5189632},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+6",start:5189632,end:5189745},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+7",start:5189745,end:5189858},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+8",start:5189858,end:5189971},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT+9",start:5189971,end:5190084},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-0",start:5190084,end:5190195},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-1",start:5190195,end:5190309},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-10",start:5190309,end:5190424},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-11",start:5190424,end:5190539},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-12",start:5190539,end:5190654},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-13",start:5190654,end:5190769},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-14",start:5190769,end:5190884},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-2",start:5190884,end:5190998},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-3",start:5190998,end:5191112},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-4",start:5191112,end:5191226},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-5",start:5191226,end:5191340},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-6",start:5191340,end:5191454},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-7",start:5191454,end:5191568},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-8",start:5191568,end:5191682},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT-9",start:5191682,end:5191796},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/GMT0",start:5191796,end:5191907},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Greenwich",start:5191907,end:5192018},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/UCT",start:5192018,end:5192129},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/UTC",start:5192129,end:5192240},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Universal",start:5192240,end:5192351},{filename:"/tmp/pglite/share/postgresql/timezone/Etc/Zulu",start:5192351,end:5192462},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Amsterdam",start:5192462,end:5193565},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Andorra",start:5193565,end:5193954},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Astrakhan",start:5193954,end:5194680},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Athens",start:5194680,end:5195362},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Belfast",start:5195362,end:5196961},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Belgrade",start:5196961,end:5197439},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Berlin",start:5197439,end:5198144},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Bratislava",start:5198144,end:5198867},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Brussels",start:5198867,end:5199970},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Bucharest",start:5199970,end:5200631},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Budapest",start:5200631,end:5201397},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Busingen",start:5201397,end:5201894},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Chisinau",start:5201894,end:5202649},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Copenhagen",start:5202649,end:5203354},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Dublin",start:5203354,end:5204850},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Gibraltar",start:5204850,end:5206070},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Guernsey",start:5206070,end:5207669},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Helsinki",start:5207669,end:5208150},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Isle_of_Man",start:5208150,end:5209749},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Istanbul",start:5209749,end:5210949},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Jersey",start:5210949,end:5212548},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kaliningrad",start:5212548,end:5213452},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kiev",start:5213452,end:5214010},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kirov",start:5214010,end:5214745},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Kyiv",start:5214745,end:5215303},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Lisbon",start:5215303,end:5216757},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Ljubljana",start:5216757,end:5217235},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/London",start:5217235,end:5218834},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Luxembourg",start:5218834,end:5219937},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Madrid",start:5219937,end:5220834},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Malta",start:5220834,end:5221762},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Mariehamn",start:5221762,end:5222243},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Minsk",start:5222243,end:5223051},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Monaco",start:5223051,end:5224156},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Moscow",start:5224156,end:5225064},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Nicosia",start:5225064,end:5225661},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Oslo",start:5225661,end:5226366},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Paris",start:5226366,end:5227471},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Podgorica",start:5227471,end:5227949},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Prague",start:5227949,end:5228672},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Riga",start:5228672,end:5229366},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Rome",start:5229366,end:5230313},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Samara",start:5230313,end:5231045},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/San_Marino",start:5231045,end:5231992},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Sarajevo",start:5231992,end:5232470},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Saratov",start:5232470,end:5233196},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Simferopol",start:5233196,end:5234061},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Skopje",start:5234061,end:5234539},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Sofia",start:5234539,end:5235131},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Stockholm",start:5235131,end:5235836},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tallinn",start:5235836,end:5236511},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tirane",start:5236511,end:5237115},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Tiraspol",start:5237115,end:5237870},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Ulyanovsk",start:5237870,end:5238630},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Uzhgorod",start:5238630,end:5239188},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vaduz",start:5239188,end:5239685},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vatican",start:5239685,end:5240632},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vienna",start:5240632,end:5241290},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Vilnius",start:5241290,end:5241966},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Volgograd",start:5241966,end:5242719},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Warsaw",start:5242719,end:5243642},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zagreb",start:5243642,end:5244120},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zaporozhye",start:5244120,end:5244678},{filename:"/tmp/pglite/share/postgresql/timezone/Europe/Zurich",start:5244678,end:5245175},{filename:"/tmp/pglite/share/postgresql/timezone/Factory",start:5245175,end:5245288},{filename:"/tmp/pglite/share/postgresql/timezone/GB",start:5245288,end:5246887},{filename:"/tmp/pglite/share/postgresql/timezone/GB-Eire",start:5246887,end:5248486},{filename:"/tmp/pglite/share/postgresql/timezone/GMT",start:5248486,end:5248597},{filename:"/tmp/pglite/share/postgresql/timezone/GMT+0",start:5248597,end:5248708},{filename:"/tmp/pglite/share/postgresql/timezone/GMT-0",start:5248708,end:5248819},{filename:"/tmp/pglite/share/postgresql/timezone/GMT0",start:5248819,end:5248930},{filename:"/tmp/pglite/share/postgresql/timezone/Greenwich",start:5248930,end:5249041},{filename:"/tmp/pglite/share/postgresql/timezone/HST",start:5249041,end:5249153},{filename:"/tmp/pglite/share/postgresql/timezone/Hongkong",start:5249153,end:5249928},{filename:"/tmp/pglite/share/postgresql/timezone/Iceland",start:5249928,end:5250058},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Antananarivo",start:5250058,end:5250249},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Chagos",start:5250249,end:5250401},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Christmas",start:5250401,end:5250553},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Cocos",start:5250553,end:5250740},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Comoro",start:5250740,end:5250931},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Kerguelen",start:5250931,end:5251083},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mahe",start:5251083,end:5251216},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Maldives",start:5251216,end:5251368},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mauritius",start:5251368,end:5251547},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Mayotte",start:5251547,end:5251738},{filename:"/tmp/pglite/share/postgresql/timezone/Indian/Reunion",start:5251738,end:5251871},{filename:"/tmp/pglite/share/postgresql/timezone/Iran",start:5251871,end:5252683},{filename:"/tmp/pglite/share/postgresql/timezone/Israel",start:5252683,end:5253757},{filename:"/tmp/pglite/share/postgresql/timezone/Jamaica",start:5253757,end:5254096},{filename:"/tmp/pglite/share/postgresql/timezone/Japan",start:5254096,end:5254309},{filename:"/tmp/pglite/share/postgresql/timezone/Kwajalein",start:5254309,end:5254528},{filename:"/tmp/pglite/share/postgresql/timezone/Libya",start:5254528,end:5254959},{filename:"/tmp/pglite/share/postgresql/timezone/MET",start:5254959,end:5255580},{filename:"/tmp/pglite/share/postgresql/timezone/MST",start:5255580,end:5255691},{filename:"/tmp/pglite/share/postgresql/timezone/MST7MDT",start:5255691,end:5256642},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/BajaNorte",start:5256642,end:5257667},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/BajaSur",start:5257667,end:5258385},{filename:"/tmp/pglite/share/postgresql/timezone/Mexico/General",start:5258385,end:5259158},{filename:"/tmp/pglite/share/postgresql/timezone/NZ",start:5259158,end:5260201},{filename:"/tmp/pglite/share/postgresql/timezone/NZ-CHAT",start:5260201,end:5261009},{filename:"/tmp/pglite/share/postgresql/timezone/Navajo",start:5261009,end:5262051},{filename:"/tmp/pglite/share/postgresql/timezone/PRC",start:5262051,end:5262444},{filename:"/tmp/pglite/share/postgresql/timezone/PST8PDT",start:5262444,end:5263395},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Apia",start:5263395,end:5263802},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Auckland",start:5263802,end:5264845},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Bougainville",start:5264845,end:5265046},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Chatham",start:5265046,end:5265854},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Chuuk",start:5265854,end:5266008},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Easter",start:5266008,end:5267182},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Efate",start:5267182,end:5267524},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Enderbury",start:5267524,end:5267696},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Fakaofo",start:5267696,end:5267849},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Fiji",start:5267849,end:5268245},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Funafuti",start:5268245,end:5268379},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Galapagos",start:5268379,end:5268554},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Gambier",start:5268554,end:5268686},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Guadalcanal",start:5268686,end:5268820},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Guam",start:5268820,end:5269170},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Honolulu",start:5269170,end:5269391},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Johnston",start:5269391,end:5269612},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kanton",start:5269612,end:5269784},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kiritimati",start:5269784,end:5269958},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kosrae",start:5269958,end:5270200},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Kwajalein",start:5270200,end:5270419},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Majuro",start:5270419,end:5270553},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Marquesas",start:5270553,end:5270692},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Midway",start:5270692,end:5270838},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Nauru",start:5270838,end:5271021},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Niue",start:5271021,end:5271175},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Norfolk",start:5271175,end:5271422},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Noumea",start:5271422,end:5271620},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pago_Pago",start:5271620,end:5271766},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Palau",start:5271766,end:5271914},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pitcairn",start:5271914,end:5272067},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Pohnpei",start:5272067,end:5272201},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Ponape",start:5272201,end:5272335},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Port_Moresby",start:5272335,end:5272489},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Rarotonga",start:5272489,end:5272895},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Saipan",start:5272895,end:5273245},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Samoa",start:5273245,end:5273391},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tahiti",start:5273391,end:5273524},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tarawa",start:5273524,end:5273658},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Tongatapu",start:5273658,end:5273895},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Truk",start:5273895,end:5274049},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Wake",start:5274049,end:5274183},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Wallis",start:5274183,end:5274317},{filename:"/tmp/pglite/share/postgresql/timezone/Pacific/Yap",start:5274317,end:5274471},{filename:"/tmp/pglite/share/postgresql/timezone/Poland",start:5274471,end:5275394},{filename:"/tmp/pglite/share/postgresql/timezone/Portugal",start:5275394,end:5276848},{filename:"/tmp/pglite/share/postgresql/timezone/ROC",start:5276848,end:5277359},{filename:"/tmp/pglite/share/postgresql/timezone/ROK",start:5277359,end:5277774},{filename:"/tmp/pglite/share/postgresql/timezone/Singapore",start:5277774,end:5278030},{filename:"/tmp/pglite/share/postgresql/timezone/Turkey",start:5278030,end:5279230},{filename:"/tmp/pglite/share/postgresql/timezone/UCT",start:5279230,end:5279341},{filename:"/tmp/pglite/share/postgresql/timezone/US/Alaska",start:5279341,end:5280318},{filename:"/tmp/pglite/share/postgresql/timezone/US/Aleutian",start:5280318,end:5281287},{filename:"/tmp/pglite/share/postgresql/timezone/US/Arizona",start:5281287,end:5281527},{filename:"/tmp/pglite/share/postgresql/timezone/US/Central",start:5281527,end:5283281},{filename:"/tmp/pglite/share/postgresql/timezone/US/East-Indiana",start:5283281,end:5283812},{filename:"/tmp/pglite/share/postgresql/timezone/US/Eastern",start:5283812,end:5285556},{filename:"/tmp/pglite/share/postgresql/timezone/US/Hawaii",start:5285556,end:5285777},{filename:"/tmp/pglite/share/postgresql/timezone/US/Indiana-Starke",start:5285777,end:5286793},{filename:"/tmp/pglite/share/postgresql/timezone/US/Michigan",start:5286793,end:5287692},{filename:"/tmp/pglite/share/postgresql/timezone/US/Mountain",start:5287692,end:5288734},{filename:"/tmp/pglite/share/postgresql/timezone/US/Pacific",start:5288734,end:5290028},{filename:"/tmp/pglite/share/postgresql/timezone/US/Samoa",start:5290028,end:5290174},{filename:"/tmp/pglite/share/postgresql/timezone/UTC",start:5290174,end:5290285},{filename:"/tmp/pglite/share/postgresql/timezone/Universal",start:5290285,end:5290396},{filename:"/tmp/pglite/share/postgresql/timezone/W-SU",start:5290396,end:5291304},{filename:"/tmp/pglite/share/postgresql/timezone/WET",start:5291304,end:5291798},{filename:"/tmp/pglite/share/postgresql/timezone/Zulu",start:5291798,end:5291909},{filename:"/tmp/pglite/share/postgresql/timezonesets/Africa.txt",start:5291909,end:5298882},{filename:"/tmp/pglite/share/postgresql/timezonesets/America.txt",start:5298882,end:5309889},{filename:"/tmp/pglite/share/postgresql/timezonesets/Antarctica.txt",start:5309889,end:5311023},{filename:"/tmp/pglite/share/postgresql/timezonesets/Asia.txt",start:5311023,end:5319334},{filename:"/tmp/pglite/share/postgresql/timezonesets/Atlantic.txt",start:5319334,end:5322867},{filename:"/tmp/pglite/share/postgresql/timezonesets/Australia",start:5322867,end:5324002},{filename:"/tmp/pglite/share/postgresql/timezonesets/Australia.txt",start:5324002,end:5327386},{filename:"/tmp/pglite/share/postgresql/timezonesets/Default",start:5327386,end:5354636},{filename:"/tmp/pglite/share/postgresql/timezonesets/Etc.txt",start:5354636,end:5355886},{filename:"/tmp/pglite/share/postgresql/timezonesets/Europe.txt",start:5355886,end:5364668},{filename:"/tmp/pglite/share/postgresql/timezonesets/India",start:5364668,end:5365261},{filename:"/tmp/pglite/share/postgresql/timezonesets/Indian.txt",start:5365261,end:5366522},{filename:"/tmp/pglite/share/postgresql/timezonesets/Pacific.txt",start:5366522,end:5370290},{filename:"/tmp/pglite/share/postgresql/tsearch_data/danish.stop",start:5370290,end:5370714},{filename:"/tmp/pglite/share/postgresql/tsearch_data/dutch.stop",start:5370714,end:5371167},{filename:"/tmp/pglite/share/postgresql/tsearch_data/english.stop",start:5371167,end:5371789},{filename:"/tmp/pglite/share/postgresql/tsearch_data/finnish.stop",start:5371789,end:5373368},{filename:"/tmp/pglite/share/postgresql/tsearch_data/french.stop",start:5373368,end:5374173},{filename:"/tmp/pglite/share/postgresql/tsearch_data/german.stop",start:5374173,end:5375522},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hungarian.stop",start:5375522,end:5376749},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample.affix",start:5376749,end:5376992},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_long.affix",start:5376992,end:5377625},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_long.dict",start:5377625,end:5377723},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_num.affix",start:5377723,end:5378185},{filename:"/tmp/pglite/share/postgresql/tsearch_data/hunspell_sample_num.dict",start:5378185,end:5378314},{filename:"/tmp/pglite/share/postgresql/tsearch_data/ispell_sample.affix",start:5378314,end:5378779},{filename:"/tmp/pglite/share/postgresql/tsearch_data/ispell_sample.dict",start:5378779,end:5378860},{filename:"/tmp/pglite/share/postgresql/tsearch_data/italian.stop",start:5378860,end:5380514},{filename:"/tmp/pglite/share/postgresql/tsearch_data/nepali.stop",start:5380514,end:5384775},{filename:"/tmp/pglite/share/postgresql/tsearch_data/norwegian.stop",start:5384775,end:5385626},{filename:"/tmp/pglite/share/postgresql/tsearch_data/portuguese.stop",start:5385626,end:5386893},{filename:"/tmp/pglite/share/postgresql/tsearch_data/russian.stop",start:5386893,end:5388128},{filename:"/tmp/pglite/share/postgresql/tsearch_data/spanish.stop",start:5388128,end:5390306},{filename:"/tmp/pglite/share/postgresql/tsearch_data/swedish.stop",start:5390306,end:5390865},{filename:"/tmp/pglite/share/postgresql/tsearch_data/synonym_sample.syn",start:5390865,end:5390938},{filename:"/tmp/pglite/share/postgresql/tsearch_data/thesaurus_sample.ths",start:5390938,end:5391411},{filename:"/tmp/pglite/share/postgresql/tsearch_data/turkish.stop",start:5391411,end:5391671},{filename:"/tmp/pglite/share/postgresql/tsearch_data/unaccent.rules",start:5391671,end:5401610},{filename:"/tmp/pglite/share/postgresql/tsearch_data/xsyn_sample.rules",start:5401610,end:5401749}],remote_package_size:5401749})})();var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(I,B)=>{throw B},scriptDirectory="";function locateFile(I){return Module.locateFile?Module.locateFile(I,scriptDirectory):scriptDirectory+I}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");import.meta.url.startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath(import.meta.url))+"/"),readBinary=I=>{I=isFileURI(I)?new URL(I):I;var B=fs.readFileSync(I);return B},readAsync=async(I,B=!0)=>{I=isFileURI(I)?new URL(I):I;var tr=fs.readFileSync(I,B?void 0:"utf8");return tr},!Module.thisProgram&&process$1.argv.length>1&&(thisProgram=process$1.argv[1].replace(/\\/g,"/")),arguments_=process$1.argv.slice(2),quit_=(I,B)=>{throw process$1.exitCode=I,B}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),readAsync=async I=>{var B=await fetch(I,{credentials:"same-origin"});if(B.ok)return B.arrayBuffer();throw new Error(B.status+" : "+B.url)});var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary,wasmMemory,ABORT=!1,EXITSTATUS;function assert(I,B){I||abort(B)}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPF64;function updateMemoryViews(){var I=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(I),Module.HEAP16=HEAP16=new Int16Array(I),Module.HEAPU8=HEAPU8=new Uint8Array(I),Module.HEAPU16=HEAPU16=new Uint16Array(I),Module.HEAP32=HEAP32=new Int32Array(I),Module.HEAPU32=HEAPU32=new Uint32Array(I),Module.HEAPF32=HEAPF32=new Float32Array(I),Module.HEAPF64=HEAPF64=new Float64Array(I),Module.HEAP64=HEAP64=new BigInt64Array(I),Module.HEAPU64=new BigUint64Array(I)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||134217728;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(I){__ATPRERUN__.unshift(I)}function addOnInit(I){__ATINIT__.unshift(I)}function addOnPostRun(I){__ATPOSTRUN__.unshift(I)}var runDependencies=0,dependenciesFulfilled=null;function addRunDependency(I){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(I){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var B=dependenciesFulfilled;dependenciesFulfilled=null,B()}}function abort(I){Module.onAbort?.(I),I="Aborted("+I+")",err(I),ABORT=!0,I+=". Build with -sASSERTIONS for more info.";var B=new WebAssembly.RuntimeError(I);throw readyPromiseReject(B),B}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=I=>I.startsWith(dataURIPrefix),isFileURI=I=>I.startsWith("file://");function findWasmBinary(){if(Module.locateFile){var I="postgres.wasm";return isDataURI(I)?I:locateFile(I)}return new URL("/assets/postgres-CyuUVpXN.wasm",import.meta.url).href}var wasmBinaryFile;function getBinarySync(I){if(I==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(I);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(I){if(!wasmBinary)try{var B=await readAsync(I);return new Uint8Array(B)}catch{}return getBinarySync(I)}async function instantiateArrayBuffer(I,B){try{var tr=await getWasmBinary(I),rr=await WebAssembly.instantiate(tr,B);return rr}catch(ir){err(`failed to asynchronously prepare wasm: ${ir}`),abort(ir)}}async function instantiateAsync(I,B,tr){if(!I&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(B)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function")try{var rr=fetch(B,{credentials:"same-origin"}),ir=await WebAssembly.instantiateStreaming(rr,tr);return ir}catch(lr){err(`wasm streaming compile failed: ${lr}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(B,tr)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function I(ir,lr){wasmExports=ir.exports,wasmExports=relocateExports(wasmExports,16777216);var dr=getDylinkMetadata(lr);return dr.neededDynlibs&&(dynamicLibraries=dr.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports),LDSO.init(),loadDylibs(),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency(),wasmExports}addRunDependency();function B(ir){I(ir.instance,ir.module)}var tr=getWasmImports();if(Module.instantiateWasm)try{return Module.instantiateWasm(tr,I)}catch(ir){err(`Module.instantiateWasm callback failed with error: ${ir}`),readyPromiseReject(ir)}wasmBinaryFile??(wasmBinaryFile=findWasmBinary());try{var rr=await instantiateAsync(wasmBinary,wasmBinaryFile,tr);return B(rr),rr}catch(ir){readyPromiseReject(ir);return}}var ASM_CONSTS={18792944:I=>{Module.is_worker=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Module.FD_BUFFER_MAX=I,Module.emscripten_copy_to=console.warn},18793117:()=>{Module.postMessage=function(I){console.log("# 1252: onCustomMessage:",__FILE__,I)}},18793242:()=>{if(Module.is_worker){let I=function(B){console.log("onCustomMessage:",B)};Module.onCustomMessage=I}else Module.postMessage=function(I){switch(I.type){case"raw":{stringToUTF8(I.data,shm_rawinput,Module.FD_BUFFER_MAX);break}case"stdin":{stringToUTF8(I.data,1,Module.FD_BUFFER_MAX);break}case"rcon":{stringToUTF8(I.data,shm_rcon,Module.FD_BUFFER_MAX);break}default:console.warn("custom_postMessage?",I)}}}};function is_web_env(){try{if(window)return 1}catch{return 0}}is_web_env.sig="i";class ExitStatus{constructor(B){P$1(this,"name","ExitStatus"),this.message=`Program terminated with exit(${B})`,this.status=B}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(I,B){var tr=GOT[B];return tr||(tr=GOT[B]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(B)||(tr.required=!0),tr}},callRuntimeCallbacks=I=>{for(;I.length>0;)I.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(I,B=0,tr=NaN)=>{for(var rr=B+tr,ir=B;I[ir]&&!(ir>=rr);)++ir;if(ir-B>16&&I.buffer&&UTF8Decoder)return UTF8Decoder.decode(I.subarray(B,ir));for(var lr="";B<ir;){var dr=I[B++];if(!(dr&128)){lr+=String.fromCharCode(dr);continue}var mr=I[B++]&63;if((dr&224)==192){lr+=String.fromCharCode((dr&31)<<6|mr);continue}var _r=I[B++]&63;if((dr&240)==224?dr=(dr&15)<<12|mr<<6|_r:dr=(dr&7)<<18|mr<<12|_r<<6|I[B++]&63,dr<65536)lr+=String.fromCharCode(dr);else{var hr=dr-65536;lr+=String.fromCharCode(55296|hr>>10,56320|hr&1023)}}return lr},getDylinkMetadata=I=>{var B=0,tr=0;function rr(){return I[B++]}function ir(){for(var zr=0,ao=1;;){var no=I[B++];if(zr+=(no&127)*ao,ao*=128,!(no&128))break}return zr}function lr(){var zr=ir();return B+=zr,UTF8ArrayToString(I,B-zr,zr)}function dr(zr,ao){if(zr)throw new Error(ao)}var mr="dylink.0";if(I instanceof WebAssembly.Module){var _r=WebAssembly.Module.customSections(I,mr);_r.length===0&&(mr="dylink",_r=WebAssembly.Module.customSections(I,mr)),dr(_r.length===0,"need dylink section"),I=new Uint8Array(_r[0]),tr=I.length}else{var hr=new Uint32Array(new Uint8Array(I.subarray(0,24)).buffer),fr=hr[0]==1836278016;dr(!fr,"need to see wasm magic number"),dr(I[8]!==0,"need the dylink section to be first"),B=9;var gr=ir();tr=B+gr,mr=lr()}var xr={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(mr=="dylink"){xr.memorySize=ir(),xr.memoryAlign=ir(),xr.tableSize=ir(),xr.tableAlign=ir();for(var wr=ir(),Sr=0;Sr<wr;++Sr){var vr=lr();xr.neededDynlibs.push(vr)}}else{dr(mr!=="dylink.0");for(var Ir=1,Mr=2,yr=3,br=4,Cr=256,Fr=3,Lr=1;B<tr;){var Ar=rr(),Or=ir();if(Ar===Ir)xr.memorySize=ir(),xr.memoryAlign=ir(),xr.tableSize=ir(),xr.tableAlign=ir();else if(Ar===Mr)for(var wr=ir(),Sr=0;Sr<wr;++Sr)vr=lr(),xr.neededDynlibs.push(vr);else if(Ar===yr)for(var Jr=ir();Jr--;){var Gr=lr(),oo=ir();oo&Cr&&xr.tlsExports.add(Gr)}else if(Ar===br)for(var Jr=ir();Jr--;){lr();var Gr=lr(),oo=ir();(oo&Fr)==Lr&&xr.weakImports.add(Gr)}else B+=Or}}return xr};function getValue(I,B="i8"){switch(B.endsWith("*")&&(B="*"),B){case"i1":return HEAP8[I];case"i8":return HEAP8[I];case"i16":return HEAP16[I>>1];case"i32":return HEAP32[I>>2];case"i64":return HEAP64[I>>3];case"float":return HEAPF32[I>>2];case"double":return HEAPF64[I>>3];case"*":return HEAPU32[I>>2];default:abort(`invalid type for getValue: ${B}`)}}var newDSO=(I,B,tr)=>{var rr={refcount:1/0,name:I,exports:tr,global:!0};return LDSO.loadedLibsByName[I]=rr,B!=null&&(LDSO.loadedLibsByHandle[B]=rr),rr},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=23144432,alignMemory=(I,B)=>Math.ceil(I/B)*B,getMemory=I=>{if(runtimeInitialized)return _calloc(I,1);var B=___heap_base,tr=B+alignMemory(I,16);return ___heap_base=tr,GOT.__heap_base.value=tr,B},isInternalSym=I=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(I)||I.startsWith("__em_js__"),uleb128Encode=(I,B)=>{I<128?B.push(I):B.push(I%128|128,I>>7)},sigToWasmTypes=I=>{for(var B={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},tr={parameters:[],results:I[0]=="v"?[]:[B[I[0]]]},rr=1;rr<I.length;++rr)tr.parameters.push(B[I[rr]]);return tr},generateFuncType=(I,B)=>{var tr=I.slice(0,1),rr=I.slice(1),ir={i:127,p:127,j:126,f:125,d:124,e:111};B.push(96),uleb128Encode(rr.length,B);for(var lr=0;lr<rr.length;++lr)B.push(ir[rr[lr]]);tr=="v"?B.push(0):B.push(1,ir[tr])},convertJsFunctionToWasm=(I,B)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(B),I);var tr=[1];generateFuncType(B,tr);var rr=[0,97,115,109,1,0,0,0,1];uleb128Encode(tr.length,rr),rr.push(...tr),rr.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var ir=new WebAssembly.Module(new Uint8Array(rr)),lr=new WebAssembly.Instance(ir,{e:{f:I}}),dr=lr.exports.f;return dr},wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:5360,element:"anyfunc"}),getWasmTableEntry=I=>{var B=wasmTableMirror[I];return B||(I>=wasmTableMirror.length&&(wasmTableMirror.length=I+1),wasmTableMirror[I]=B=wasmTable.get(I)),B},updateTableMap=(I,B)=>{if(functionsInTableMap)for(var tr=I;tr<I+B;tr++){var rr=getWasmTableEntry(tr);rr&&functionsInTableMap.set(rr,tr)}},functionsInTableMap,getFunctionAddress=I=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(I)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(I){throw I instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":I}return wasmTable.length-1},setWasmTableEntry=(I,B)=>{wasmTable.set(I,B),wasmTableMirror[I]=wasmTable.get(I)},addFunction=(I,B)=>{var tr=getFunctionAddress(I);if(tr)return tr;var rr=getEmptyTableSlot();try{setWasmTableEntry(rr,I)}catch(lr){if(!(lr instanceof TypeError))throw lr;var ir=convertJsFunctionToWasm(I,B);setWasmTableEntry(rr,ir)}return functionsInTableMap.set(I,rr),rr},updateGOT=(I,B)=>{for(var tr in I)if(!isInternalSym(tr)){var rr=I[tr];GOT[tr]||(GOT[tr]=new WebAssembly.Global({value:"i32",mutable:!0})),GOT[tr].value==0&&(typeof rr=="function"?GOT[tr].value=addFunction(rr):typeof rr=="number"?GOT[tr].value=rr:err(`unhandled export type for '${tr}': ${typeof rr}`))}},relocateExports=(I,B,tr)=>{var rr={};for(var ir in I){var lr=I[ir];typeof lr=="object"&&(lr=lr.value),typeof lr=="number"&&(lr+=B),rr[ir]=lr}return updateGOT(rr),rr},isSymbolDefined=I=>{var B=wasmImports[I];return!(!B||B.stub)},dynCall=(I,B,tr=[])=>{var rr=getWasmTableEntry(B)(...tr);return rr},stackSave=()=>_emscripten_stack_get_current(),stackRestore=I=>__emscripten_stack_restore(I),createInvokeFunction=I=>(B,...tr)=>{var rr=stackSave();try{return dynCall(I,B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;if(_setThrew(1,0),I[0]=="j")return 0n}},resolveGlobalSymbol=(I,B=!1)=>{var tr;return isSymbolDefined(I)?tr=wasmImports[I]:I.startsWith("invoke_")&&(tr=wasmImports[I]=createInvokeFunction(I.split("_")[1])),{sym:tr,name:I}},UTF8ToString=(I,B)=>I?UTF8ArrayToString(HEAPU8,I,B):"",loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,HEAPU32[handle+12>>2]=memoryBase,HEAP32[handle+16>>2]=metadata.memorySize,HEAPU32[handle+20>>2]=tableBase,HEAP32[handle+24>>2]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>2],tableBase=HEAPU32[handle+20>>2];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(I){var B=resolveGlobalSymbol(I).sym;return!B&&localScope&&(B=localScope[I]),B||(B=moduleExports[I]),B}var proxyHandler={get(I,B){switch(B){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(B in wasmImports&&!wasmImports[B].stub)return wasmImports[B];if(!(B in I)){var tr;I[B]=(...rr)=>(tr||(tr=resolveSymbol(B)),tr(...rr))}return I[B]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replaceAll("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(I=>postInstantiation(I.module,I.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((I,B)=>I.then(()=>loadDynamicLibrary(B,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(I=>loadDynamicLibrary(I,flags,localScope)),loadModule())},mergeLibSymbols=(I,B)=>{for(var[tr,rr]of Object.entries(I)){let ir=dr=>{isSymbolDefined(dr)||(wasmImports[dr]=rr)};ir(tr);let lr="__main_argc_argv";tr=="main"&&ir(lr),tr==lr&&ir("main")}},asyncLoad=async I=>{var B=await readAsync(I);return new Uint8Array(B)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var I={promiseChainEnd:Promise.resolve(),canHandle:B=>!Module.noWasmDecoding&&B.endsWith(".so"),handle:(B,tr,rr,ir)=>{I.promiseChainEnd=I.promiseChainEnd.then(()=>loadWebAssemblyModule(B,{loadAsync:!0,nodelete:!0},tr,{})).then(lr=>{preloadedWasm[tr]=lr,rr(B)},lr=>{err(`failed to instantiate wasm: ${tr}: ${lr}`),ir()})}};preloadPlugins.push(I)},preloadedWasm={};function loadDynamicLibrary(I,B={global:!0,nodelete:!0},tr,rr){var ir=LDSO.loadedLibsByName[I];if(ir)return B.global?ir.global||(ir.global=!0,mergeLibSymbols(ir.exports)):tr&&Object.assign(tr,ir.exports),B.nodelete&&ir.refcount!==1/0&&(ir.refcount=1/0),ir.refcount++,rr&&(LDSO.loadedLibsByHandle[rr]=ir),B.loadAsync?Promise.resolve(!0):!0;ir=newDSO(I,rr,"loading"),ir.refcount=B.nodelete?1/0:1,ir.global=B.global;function lr(){if(rr){var _r=HEAPU32[rr+28>>2],hr=HEAPU32[rr+32>>2];if(_r&&hr){var fr=HEAP8.slice(_r,_r+hr);return B.loadAsync?Promise.resolve(fr):fr}}var gr=locateFile(I);if(B.loadAsync)return asyncLoad(gr);if(!readBinary)throw new Error(`${gr}: file not found, and synchronous loading of external files is not available`);return readBinary(gr)}function dr(){var _r=preloadedWasm[I];return _r?B.loadAsync?Promise.resolve(_r):_r:B.loadAsync?lr().then(hr=>loadWebAssemblyModule(hr,B,I,tr,rr)):loadWebAssemblyModule(lr(),B,I,tr,rr)}function mr(_r){ir.global?mergeLibSymbols(_r):tr&&Object.assign(tr,_r),ir.exports=_r}return B.loadAsync?dr().then(_r=>(mr(_r),!0)):(mr(dr()),!0)}var reportUndefinedSymbols=()=>{for(var[I,B]of Object.entries(GOT))if(B.value==0){var tr=resolveGlobalSymbol(I,!0).sym;if(!tr&&!B.required)continue;if(typeof tr=="function")B.value=addFunction(tr,tr.sig);else if(typeof tr=="number")B.value=tr;else throw new Error(`bad export type for '${I}': ${typeof tr}`)}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(),dynamicLibraries.reduce((I,B)=>I.then(()=>loadDynamicLibrary(B,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency()})},noExitRuntime=Module.noExitRuntime||!0;function setValue(I,B,tr="i8"){switch(tr.endsWith("*")&&(tr="*"),tr){case"i1":HEAP8[I]=B;break;case"i8":HEAP8[I]=B;break;case"i16":HEAP16[I>>1]=B;break;case"i32":HEAP32[I>>2]=B;break;case"i64":HEAP64[I>>3]=BigInt(B);break;case"float":HEAPF32[I>>2]=B;break;case"double":HEAPF64[I>>3]=B;break;case"*":HEAPU32[I>>2]=B;break;default:abort(`invalid type for setValue: ${tr}`)}}var ___assert_fail=(I,B,tr,rr)=>abort(`Assertion failed: ${UTF8ToString(I)}, at: `+[B?UTF8ToString(B):"unknown filename",tr,rr?UTF8ToString(rr):"unknown function"]);___assert_fail.sig="vppip";var ___call_sighandler=(I,B)=>getWasmTableEntry(I)(B);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},16777216),___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},23144432),PATH={isAbs:I=>I.charAt(0)==="/",splitPath:I=>{var B=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return B.exec(I).slice(1)},normalizeArray:(I,B)=>{for(var tr=0,rr=I.length-1;rr>=0;rr--){var ir=I[rr];ir==="."?I.splice(rr,1):ir===".."?(I.splice(rr,1),tr++):tr&&(I.splice(rr,1),tr--)}if(B)for(;tr;tr--)I.unshift("..");return I},normalize:I=>{var B=PATH.isAbs(I),tr=I.substr(-1)==="/";return I=PATH.normalizeArray(I.split("/").filter(rr=>!!rr),!B).join("/"),!I&&!B&&(I="."),I&&tr&&(I+="/"),(B?"/":"")+I},dirname:I=>{var B=PATH.splitPath(I),tr=B[0],rr=B[1];return!tr&&!rr?".":(rr&&(rr=rr.substr(0,rr.length-1)),tr+rr)},basename:I=>{if(I==="/")return"/";I=PATH.normalize(I),I=I.replace(/\/$/,"");var B=I.lastIndexOf("/");return B===-1?I:I.substr(B+1)},join:(...I)=>PATH.normalize(I.join("/")),join2:(I,B)=>PATH.normalize(I+"/"+B)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return rr=>crypto.getRandomValues(rr);if(ENVIRONMENT_IS_NODE)try{var I=require("crypto"),B=I.randomFillSync;if(B)return rr=>I.randomFillSync(rr);var tr=I.randomBytes;return rr=>(rr.set(tr(rr.byteLength)),rr)}catch{}abort("initRandomDevice")},randomFill=I=>(randomFill=initRandomFill())(I),PATH_FS={resolve:(...I)=>{for(var B="",tr=!1,rr=I.length-1;rr>=-1&&!tr;rr--){var ir=rr>=0?I[rr]:FS.cwd();if(typeof ir!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!ir)return"";B=ir+"/"+B,tr=PATH.isAbs(ir)}return B=PATH.normalizeArray(B.split("/").filter(lr=>!!lr),!tr).join("/"),(tr?"/":"")+B||"."},relative:(I,B)=>{I=PATH_FS.resolve(I).substr(1),B=PATH_FS.resolve(B).substr(1);function tr(hr){for(var fr=0;fr<hr.length&&hr[fr]==="";fr++);for(var gr=hr.length-1;gr>=0&&hr[gr]==="";gr--);return fr>gr?[]:hr.slice(fr,gr-fr+1)}for(var rr=tr(I.split("/")),ir=tr(B.split("/")),lr=Math.min(rr.length,ir.length),dr=lr,mr=0;mr<lr;mr++)if(rr[mr]!==ir[mr]){dr=mr;break}for(var _r=[],mr=dr;mr<rr.length;mr++)_r.push("..");return _r=_r.concat(ir.slice(dr)),_r.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=I=>{for(var B=0,tr=0;tr<I.length;++tr){var rr=I.charCodeAt(tr);rr<=127?B++:rr<=2047?B+=2:rr>=55296&&rr<=57343?(B+=4,++tr):B+=3}return B},stringToUTF8Array=(I,B,tr,rr)=>{if(!(rr>0))return 0;for(var ir=tr,lr=tr+rr-1,dr=0;dr<I.length;++dr){var mr=I.charCodeAt(dr);if(mr>=55296&&mr<=57343){var _r=I.charCodeAt(++dr);mr=65536+((mr&1023)<<10)|_r&1023}if(mr<=127){if(tr>=lr)break;B[tr++]=mr}else if(mr<=2047){if(tr+1>=lr)break;B[tr++]=192|mr>>6,B[tr++]=128|mr&63}else if(mr<=65535){if(tr+2>=lr)break;B[tr++]=224|mr>>12,B[tr++]=128|mr>>6&63,B[tr++]=128|mr&63}else{if(tr+3>=lr)break;B[tr++]=240|mr>>18,B[tr++]=128|mr>>12&63,B[tr++]=128|mr>>6&63,B[tr++]=128|mr&63}}return B[tr]=0,tr-ir};function intArrayFromString(I,B,tr){var rr=lengthBytesUTF8(I)+1,ir=new Array(rr),lr=stringToUTF8Array(I,ir,0,ir.length);return ir.length=lr,ir}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var I=null;if(ENVIRONMENT_IS_NODE){var B=256,tr=Buffer.alloc(B),rr=0,ir=process$1.stdin.fd;try{rr=fs.readSync(ir,tr,0,B)}catch(lr){if(lr.toString().includes("EOF"))rr=0;else throw lr}rr>0&&(I=tr.slice(0,rr).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(I=window.prompt("Input: "),I!==null&&(I+=`
|
|
13
|
-
`));if(!I)return null;FS_stdin_getChar_buffer=intArrayFromString(I)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(I,B){TTY.ttys[I]={input:[],output:[],ops:B},FS.registerDevice(I,TTY.stream_ops)},stream_ops:{open(I){var B=TTY.ttys[I.node.rdev];if(!B)throw new FS.ErrnoError(43);I.tty=B,I.seekable=!1},close(I){I.tty.ops.fsync(I.tty)},fsync(I){I.tty.ops.fsync(I.tty)},read(I,B,tr,rr,ir){if(!I.tty||!I.tty.ops.get_char)throw new FS.ErrnoError(60);for(var lr=0,dr=0;dr<rr;dr++){var mr;try{mr=I.tty.ops.get_char(I.tty)}catch{throw new FS.ErrnoError(29)}if(mr===void 0&&lr===0)throw new FS.ErrnoError(6);if(mr==null)break;lr++,B[tr+dr]=mr}return lr&&(I.node.atime=Date.now()),lr},write(I,B,tr,rr,ir){if(!I.tty||!I.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var lr=0;lr<rr;lr++)I.tty.ops.put_char(I.tty,B[tr+lr])}catch{throw new FS.ErrnoError(29)}return rr&&(I.node.mtime=I.node.ctime=Date.now()),lr}},default_tty_ops:{get_char(I){return FS_stdin_getChar()},put_char(I,B){B===null||B===10?(out(UTF8ArrayToString(I.output)),I.output=[]):B!=0&&I.output.push(B)},fsync(I){I.output&&I.output.length>0&&(out(UTF8ArrayToString(I.output)),I.output=[])},ioctl_tcgets(I){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(I,B,tr){return 0},ioctl_tiocgwinsz(I){return[24,80]}},default_tty1_ops:{put_char(I,B){B===null||B===10?(err(UTF8ArrayToString(I.output)),I.output=[]):B!=0&&I.output.push(B)},fsync(I){I.output&&I.output.length>0&&(err(UTF8ArrayToString(I.output)),I.output=[])}}},zeroMemory=(I,B)=>{HEAPU8.fill(0,I,I+B)},mmapAlloc=I=>{I=alignMemory(I,65536);var B=_emscripten_builtin_memalign(65536,I);return B&&zeroMemory(B,I),B},MEMFS={ops_table:null,mount(I){return MEMFS.createNode(null,"/",16895,0)},createNode(I,B,tr,rr){if(FS.isBlkdev(tr)||FS.isFIFO(tr))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var ir=FS.createNode(I,B,tr,rr);return FS.isDir(ir.mode)?(ir.node_ops=MEMFS.ops_table.dir.node,ir.stream_ops=MEMFS.ops_table.dir.stream,ir.contents={}):FS.isFile(ir.mode)?(ir.node_ops=MEMFS.ops_table.file.node,ir.stream_ops=MEMFS.ops_table.file.stream,ir.usedBytes=0,ir.contents=null):FS.isLink(ir.mode)?(ir.node_ops=MEMFS.ops_table.link.node,ir.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(ir.mode)&&(ir.node_ops=MEMFS.ops_table.chrdev.node,ir.stream_ops=MEMFS.ops_table.chrdev.stream),ir.atime=ir.mtime=ir.ctime=Date.now(),I&&(I.contents[B]=ir,I.atime=I.mtime=I.ctime=ir.atime),ir},getFileDataAsTypedArray(I){return I.contents?I.contents.subarray?I.contents.subarray(0,I.usedBytes):new Uint8Array(I.contents):new Uint8Array(0)},expandFileStorage(I,B){var tr=I.contents?I.contents.length:0;if(!(tr>=B)){var rr=1048576;B=Math.max(B,tr*(tr<rr?2:1.125)>>>0),tr!=0&&(B=Math.max(B,256));var ir=I.contents;I.contents=new Uint8Array(B),I.usedBytes>0&&I.contents.set(ir.subarray(0,I.usedBytes),0)}},resizeFileStorage(I,B){if(I.usedBytes!=B)if(B==0)I.contents=null,I.usedBytes=0;else{var tr=I.contents;I.contents=new Uint8Array(B),tr&&I.contents.set(tr.subarray(0,Math.min(B,I.usedBytes))),I.usedBytes=B}},node_ops:{getattr(I){var B={};return B.dev=FS.isChrdev(I.mode)?I.id:1,B.ino=I.id,B.mode=I.mode,B.nlink=1,B.uid=0,B.gid=0,B.rdev=I.rdev,FS.isDir(I.mode)?B.size=4096:FS.isFile(I.mode)?B.size=I.usedBytes:FS.isLink(I.mode)?B.size=I.link.length:B.size=0,B.atime=new Date(I.atime),B.mtime=new Date(I.mtime),B.ctime=new Date(I.ctime),B.blksize=4096,B.blocks=Math.ceil(B.size/B.blksize),B},setattr(I,B){for(let tr of["mode","atime","mtime","ctime"])B[tr]&&(I[tr]=B[tr]);B.size!==void 0&&MEMFS.resizeFileStorage(I,B.size)},lookup(I,B){throw MEMFS.doesNotExistError},mknod(I,B,tr,rr){return MEMFS.createNode(I,B,tr,rr)},rename(I,B,tr){var rr;try{rr=FS.lookupNode(B,tr)}catch{}if(rr){if(FS.isDir(I.mode))for(var ir in rr.contents)throw new FS.ErrnoError(55);FS.hashRemoveNode(rr)}delete I.parent.contents[I.name],B.contents[tr]=I,I.name=tr,B.ctime=B.mtime=I.parent.ctime=I.parent.mtime=Date.now()},unlink(I,B){delete I.contents[B],I.ctime=I.mtime=Date.now()},rmdir(I,B){var tr=FS.lookupNode(I,B);for(var rr in tr.contents)throw new FS.ErrnoError(55);delete I.contents[B],I.ctime=I.mtime=Date.now()},readdir(I){return[".","..",...Object.keys(I.contents)]},symlink(I,B,tr){var rr=MEMFS.createNode(I,B,41471,0);return rr.link=tr,rr},readlink(I){if(!FS.isLink(I.mode))throw new FS.ErrnoError(28);return I.link}},stream_ops:{read(I,B,tr,rr,ir){var lr=I.node.contents;if(ir>=I.node.usedBytes)return 0;var dr=Math.min(I.node.usedBytes-ir,rr);if(dr>8&&lr.subarray)B.set(lr.subarray(ir,ir+dr),tr);else for(var mr=0;mr<dr;mr++)B[tr+mr]=lr[ir+mr];return dr},write(I,B,tr,rr,ir,lr){if(B.buffer===HEAP8.buffer&&(lr=!1),!rr)return 0;var dr=I.node;if(dr.mtime=dr.ctime=Date.now(),B.subarray&&(!dr.contents||dr.contents.subarray)){if(lr)return dr.contents=B.subarray(tr,tr+rr),dr.usedBytes=rr,rr;if(dr.usedBytes===0&&ir===0)return dr.contents=B.slice(tr,tr+rr),dr.usedBytes=rr,rr;if(ir+rr<=dr.usedBytes)return dr.contents.set(B.subarray(tr,tr+rr),ir),rr}if(MEMFS.expandFileStorage(dr,ir+rr),dr.contents.subarray&&B.subarray)dr.contents.set(B.subarray(tr,tr+rr),ir);else for(var mr=0;mr<rr;mr++)dr.contents[ir+mr]=B[tr+mr];return dr.usedBytes=Math.max(dr.usedBytes,ir+rr),rr},llseek(I,B,tr){var rr=B;if(tr===1?rr+=I.position:tr===2&&FS.isFile(I.node.mode)&&(rr+=I.node.usedBytes),rr<0)throw new FS.ErrnoError(28);return rr},allocate(I,B,tr){MEMFS.expandFileStorage(I.node,B+tr),I.node.usedBytes=Math.max(I.node.usedBytes,B+tr)},mmap(I,B,tr,rr,ir){if(!FS.isFile(I.node.mode))throw new FS.ErrnoError(43);var lr,dr,mr=I.node.contents;if(!(ir&2)&&mr&&mr.buffer===HEAP8.buffer)dr=!1,lr=mr.byteOffset;else{if(dr=!0,lr=mmapAlloc(B),!lr)throw new FS.ErrnoError(48);mr&&((tr>0||tr+B<mr.length)&&(mr.subarray?mr=mr.subarray(tr,tr+B):mr=Array.prototype.slice.call(mr,tr,tr+B)),HEAP8.set(mr,lr))}return{ptr:lr,allocated:dr}},msync(I,B,tr,rr,ir){return MEMFS.stream_ops.write(I,B,0,rr,tr,!1),0}}},FS_createDataFile=(I,B,tr,rr,ir,lr)=>{FS.createDataFile(I,B,tr,rr,ir,lr)},FS_handledByPreloadPlugin=(I,B,tr,rr)=>{typeof Browser<"u"&&Browser.init();var ir=!1;return preloadPlugins.forEach(lr=>{ir||lr.canHandle(B)&&(lr.handle(I,B,tr,rr),ir=!0)}),ir},FS_createPreloadedFile=(I,B,tr,rr,ir,lr,dr,mr,_r,hr)=>{var fr=B?PATH_FS.resolve(PATH.join2(I,B)):I;function gr(xr){function wr(Sr){hr?.(),mr||FS_createDataFile(I,B,Sr,rr,ir,_r),lr?.(),removeRunDependency()}FS_handledByPreloadPlugin(xr,fr,wr,()=>{dr?.(),removeRunDependency()})||wr(xr)}addRunDependency(),typeof tr=="string"?asyncLoad(tr).then(gr,dr):gr(tr)},FS_modeStringToFlags=I=>{var B={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},tr=B[I];if(typeof tr>"u")throw new Error(`Unknown file open mode: ${I}`);return tr},FS_getMode=(I,B)=>{var tr=0;return I&&(tr|=365),B&&(tr|=146),tr},IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB<"u")return indexedDB;var I=null;return typeof window=="object"&&(I=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),I},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:I=>{function B(){I.idbPersistState==="again"?tr():I.idbPersistState=0}function tr(){I.idbPersistState="idb",IDBFS.syncfs(I,!1,B)}I.idbPersistState?I.idbPersistState==="idb"&&(I.idbPersistState="again"):I.idbPersistState=setTimeout(tr,0)},mount:I=>{var B=MEMFS.mount(I);if(I?.opts?.autoPersist){B.idbPersistState=0;var tr=B.node_ops;B.node_ops=Object.assign({},B.node_ops),B.node_ops.mknod=(rr,ir,lr,dr)=>{var mr=tr.mknod(rr,ir,lr,dr);return mr.node_ops=B.node_ops,mr.idbfs_mount=B.mount,mr.memfs_stream_ops=mr.stream_ops,mr.stream_ops=Object.assign({},mr.stream_ops),mr.stream_ops.write=(_r,hr,fr,gr,xr,wr)=>(_r.node.isModified=!0,mr.memfs_stream_ops.write(_r,hr,fr,gr,xr,wr)),mr.stream_ops.close=_r=>{var hr=_r.node;if(hr.isModified&&(IDBFS.queuePersist(hr.idbfs_mount),hr.isModified=!1),hr.memfs_stream_ops.close)return hr.memfs_stream_ops.close(_r)},mr},B.node_ops.mkdir=(...rr)=>(IDBFS.queuePersist(B.mount),tr.mkdir(...rr)),B.node_ops.rmdir=(...rr)=>(IDBFS.queuePersist(B.mount),tr.rmdir(...rr)),B.node_ops.symlink=(...rr)=>(IDBFS.queuePersist(B.mount),tr.symlink(...rr)),B.node_ops.unlink=(...rr)=>(IDBFS.queuePersist(B.mount),tr.unlink(...rr)),B.node_ops.rename=(...rr)=>(IDBFS.queuePersist(B.mount),tr.rename(...rr))}return B},syncfs:(I,B,tr)=>{IDBFS.getLocalSet(I,(rr,ir)=>{if(rr)return tr(rr);IDBFS.getRemoteSet(I,(lr,dr)=>{if(lr)return tr(lr);var mr=B?dr:ir,_r=B?ir:dr;IDBFS.reconcile(mr,_r,tr)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(I=>I.close()),IDBFS.dbs={}},getDB:(I,B)=>{var tr=IDBFS.dbs[I];if(tr)return B(null,tr);var rr;try{rr=IDBFS.indexedDB().open(I,IDBFS.DB_VERSION)}catch(ir){return B(ir)}if(!rr)return B("Unable to connect to IndexedDB");rr.onupgradeneeded=ir=>{var lr=ir.target.result,dr=ir.target.transaction,mr;lr.objectStoreNames.contains(IDBFS.DB_STORE_NAME)?mr=dr.objectStore(IDBFS.DB_STORE_NAME):mr=lr.createObjectStore(IDBFS.DB_STORE_NAME),mr.indexNames.contains("timestamp")||mr.createIndex("timestamp","timestamp",{unique:!1})},rr.onsuccess=()=>{tr=rr.result,IDBFS.dbs[I]=tr,B(null,tr)},rr.onerror=ir=>{B(ir.target.error),ir.preventDefault()}},getLocalSet:(I,B)=>{var tr={};function rr(_r){return _r!=="."&&_r!==".."}function ir(_r){return hr=>PATH.join2(_r,hr)}for(var lr=FS.readdir(I.mountpoint).filter(rr).map(ir(I.mountpoint));lr.length;){var dr=lr.pop(),mr;try{mr=FS.stat(dr)}catch(_r){return B(_r)}FS.isDir(mr.mode)&&lr.push(...FS.readdir(dr).filter(rr).map(ir(dr))),tr[dr]={timestamp:mr.mtime}}return B(null,{type:"local",entries:tr})},getRemoteSet:(I,B)=>{var tr={};IDBFS.getDB(I.mountpoint,(rr,ir)=>{if(rr)return B(rr);try{var lr=ir.transaction([IDBFS.DB_STORE_NAME],"readonly");lr.onerror=_r=>{B(_r.target.error),_r.preventDefault()};var dr=lr.objectStore(IDBFS.DB_STORE_NAME),mr=dr.index("timestamp");mr.openKeyCursor().onsuccess=_r=>{var hr=_r.target.result;if(!hr)return B(null,{type:"remote",db:ir,entries:tr});tr[hr.primaryKey]={timestamp:hr.key},hr.continue()}}catch(_r){return B(_r)}})},loadLocalEntry:(I,B)=>{var tr,rr;try{var ir=FS.lookupPath(I);rr=ir.node,tr=FS.stat(I)}catch(lr){return B(lr)}return FS.isDir(tr.mode)?B(null,{timestamp:tr.mtime,mode:tr.mode}):FS.isFile(tr.mode)?(rr.contents=MEMFS.getFileDataAsTypedArray(rr),B(null,{timestamp:tr.mtime,mode:tr.mode,contents:rr.contents})):B(new Error("node type not supported"))},storeLocalEntry:(I,B,tr)=>{try{if(FS.isDir(B.mode))FS.mkdirTree(I,B.mode);else if(FS.isFile(B.mode))FS.writeFile(I,B.contents,{canOwn:!0});else return tr(new Error("node type not supported"));FS.chmod(I,B.mode),FS.utime(I,B.timestamp,B.timestamp)}catch(rr){return tr(rr)}tr(null)},removeLocalEntry:(I,B)=>{try{var tr=FS.stat(I);FS.isDir(tr.mode)?FS.rmdir(I):FS.isFile(tr.mode)&&FS.unlink(I)}catch(rr){return B(rr)}B(null)},loadRemoteEntry:(I,B,tr)=>{var rr=I.get(B);rr.onsuccess=ir=>tr(null,ir.target.result),rr.onerror=ir=>{tr(ir.target.error),ir.preventDefault()}},storeRemoteEntry:(I,B,tr,rr)=>{try{var ir=I.put(tr,B)}catch(lr){rr(lr);return}ir.onsuccess=lr=>rr(),ir.onerror=lr=>{rr(lr.target.error),lr.preventDefault()}},removeRemoteEntry:(I,B,tr)=>{var rr=I.delete(B);rr.onsuccess=ir=>tr(),rr.onerror=ir=>{tr(ir.target.error),ir.preventDefault()}},reconcile:(I,B,tr)=>{var rr=0,ir=[];Object.keys(I.entries).forEach(gr=>{var xr=I.entries[gr],wr=B.entries[gr];(!wr||xr.timestamp.getTime()!=wr.timestamp.getTime())&&(ir.push(gr),rr++)});var lr=[];if(Object.keys(B.entries).forEach(gr=>{I.entries[gr]||(lr.push(gr),rr++)}),!rr)return tr(null);var dr=!1,mr=I.type==="remote"?I.db:B.db,_r=mr.transaction([IDBFS.DB_STORE_NAME],"readwrite"),hr=_r.objectStore(IDBFS.DB_STORE_NAME);function fr(gr){if(gr&&!dr)return dr=!0,tr(gr)}_r.onerror=_r.onabort=gr=>{fr(gr.target.error),gr.preventDefault()},_r.oncomplete=gr=>{dr||tr(null)},ir.sort().forEach(gr=>{B.type==="local"?IDBFS.loadRemoteEntry(hr,gr,(xr,wr)=>{if(xr)return fr(xr);IDBFS.storeLocalEntry(gr,wr,fr)}):IDBFS.loadLocalEntry(gr,(xr,wr)=>{if(xr)return fr(xr);IDBFS.storeRemoteEntry(hr,gr,wr,fr)})}),lr.sort().reverse().forEach(gr=>{B.type==="local"?IDBFS.removeLocalEntry(gr,fr):IDBFS.removeRemoteEntry(hr,gr,fr)})}},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},NODEFS={isWindows:!1,staticInit(){NODEFS.isWindows=!!process$1.platform.match(/^win/);var I=process$1.binding("constants");I.fs&&(I=I.fs),NODEFS.flagsForNodeMap={1024:I.O_APPEND,64:I.O_CREAT,128:I.O_EXCL,256:I.O_NOCTTY,0:I.O_RDONLY,2:I.O_RDWR,4096:I.O_SYNC,512:I.O_TRUNC,1:I.O_WRONLY,131072:I.O_NOFOLLOW}},convertNodeCode(I){var B=I.code;return ERRNO_CODES[B]},tryFSOperation(I){try{return I()}catch(B){throw B.code?B.code==="UNKNOWN"?new FS.ErrnoError(28):new FS.ErrnoError(NODEFS.convertNodeCode(B)):B}},mount(I){return NODEFS.createNode(null,"/",NODEFS.getMode(I.opts.root),0)},createNode(I,B,tr,rr){if(!FS.isDir(tr)&&!FS.isFile(tr)&&!FS.isLink(tr))throw new FS.ErrnoError(28);var ir=FS.createNode(I,B,tr);return ir.node_ops=NODEFS.node_ops,ir.stream_ops=NODEFS.stream_ops,ir},getMode(I){return NODEFS.tryFSOperation(()=>{var B=fs.lstatSync(I).mode;return NODEFS.isWindows&&(B|=(B&292)>>2),B})},realPath(I){for(var B=[];I.parent!==I;)B.push(I.name),I=I.parent;return B.push(I.mount.opts.root),B.reverse(),PATH.join(...B)},flagsForNode(I){I&=-2097153,I&=-2049,I&=-32769,I&=-524289,I&=-65537;var B=0;for(var tr in NODEFS.flagsForNodeMap)I&tr&&(B|=NODEFS.flagsForNodeMap[tr],I^=tr);if(I)throw new FS.ErrnoError(28);return B},node_ops:{getattr(I){var B=NODEFS.realPath(I),tr;return NODEFS.tryFSOperation(()=>tr=fs.lstatSync(B)),NODEFS.isWindows&&(tr.blksize||(tr.blksize=4096),tr.blocks||(tr.blocks=(tr.size+tr.blksize-1)/tr.blksize|0),tr.mode|=(tr.mode&292)>>2),{dev:tr.dev,ino:tr.ino,mode:tr.mode,nlink:tr.nlink,uid:tr.uid,gid:tr.gid,rdev:tr.rdev,size:tr.size,atime:tr.atime,mtime:tr.mtime,ctime:tr.ctime,blksize:tr.blksize,blocks:tr.blocks}},setattr(I,B){var tr=NODEFS.realPath(I);NODEFS.tryFSOperation(()=>{if(B.mode!==void 0){var rr=B.mode;NODEFS.isWindows&&(rr&=384),fs.chmodSync(tr,rr),I.mode=B.mode}if(B.atime||B.mtime){var ir=B.atime&&new Date(B.atime),lr=B.mtime&&new Date(B.mtime);fs.utimesSync(tr,ir,lr)}B.size!==void 0&&fs.truncateSync(tr,B.size)})},lookup(I,B){var tr=PATH.join2(NODEFS.realPath(I),B),rr=NODEFS.getMode(tr);return NODEFS.createNode(I,B,rr)},mknod(I,B,tr,rr){var ir=NODEFS.createNode(I,B,tr,rr),lr=NODEFS.realPath(ir);return NODEFS.tryFSOperation(()=>{FS.isDir(ir.mode)?fs.mkdirSync(lr,ir.mode):fs.writeFileSync(lr,"",{mode:ir.mode})}),ir},rename(I,B,tr){var rr=NODEFS.realPath(I),ir=PATH.join2(NODEFS.realPath(B),tr);try{FS.unlink(ir)}catch{}NODEFS.tryFSOperation(()=>fs.renameSync(rr,ir)),I.name=tr},unlink(I,B){var tr=PATH.join2(NODEFS.realPath(I),B);NODEFS.tryFSOperation(()=>fs.unlinkSync(tr))},rmdir(I,B){var tr=PATH.join2(NODEFS.realPath(I),B);NODEFS.tryFSOperation(()=>fs.rmdirSync(tr))},readdir(I){var B=NODEFS.realPath(I);return NODEFS.tryFSOperation(()=>fs.readdirSync(B))},symlink(I,B,tr){var rr=PATH.join2(NODEFS.realPath(I),B);NODEFS.tryFSOperation(()=>fs.symlinkSync(tr,rr))},readlink(I){var B=NODEFS.realPath(I);return NODEFS.tryFSOperation(()=>fs.readlinkSync(B))},statfs(I){var B=NODEFS.tryFSOperation(()=>fs.statfsSync(I));return B.frsize=B.bsize,B}},stream_ops:{open(I){var B=NODEFS.realPath(I.node);NODEFS.tryFSOperation(()=>{FS.isFile(I.node.mode)&&(I.shared.refcount=1,I.nfd=fs.openSync(B,NODEFS.flagsForNode(I.flags)))})},close(I){NODEFS.tryFSOperation(()=>{FS.isFile(I.node.mode)&&I.nfd&&--I.shared.refcount===0&&fs.closeSync(I.nfd)})},dup(I){I.shared.refcount++},read(I,B,tr,rr,ir){return rr===0?0:NODEFS.tryFSOperation(()=>fs.readSync(I.nfd,new Int8Array(B.buffer,tr,rr),0,rr,ir))},write(I,B,tr,rr,ir){return NODEFS.tryFSOperation(()=>fs.writeSync(I.nfd,new Int8Array(B.buffer,tr,rr),0,rr,ir))},llseek(I,B,tr){var rr=B;if(tr===1?rr+=I.position:tr===2&&FS.isFile(I.node.mode)&&NODEFS.tryFSOperation(()=>{var ir=fs.fstatSync(I.nfd);rr+=ir.size}),rr<0)throw new FS.ErrnoError(28);return rr},mmap(I,B,tr,rr,ir){if(!FS.isFile(I.node.mode))throw new FS.ErrnoError(43);var lr=mmapAlloc(B);return NODEFS.stream_ops.read(I,HEAP8,lr,B,tr),{ptr:lr,allocated:!0}},msync(I,B,tr,rr,ir){return NODEFS.stream_ops.write(I,B,0,rr,tr,!1),0}}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(I){P$1(this,"name","ErrnoError"),this.errno=I}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){P$1(this,"shared",{})}get object(){return this.node}set object(I){this.node=I}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(I){this.shared.flags=I}get position(){return this.shared.position}set position(I){this.shared.position=I}},FSNode:class{constructor(I,B,tr,rr){P$1(this,"node_ops",{}),P$1(this,"stream_ops",{}),P$1(this,"readMode",365),P$1(this,"writeMode",146),P$1(this,"mounted",null),I||(I=this),this.parent=I,this.mount=I.mount,this.id=FS.nextInode++,this.name=B,this.mode=tr,this.rdev=rr,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(I){I?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(I){I?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(I,B={}){if(!I)return{path:"",node:null};B.follow_mount??(B.follow_mount=!0),PATH.isAbs(I)||(I=FS.cwd()+"/"+I);e:for(var tr=0;tr<40;tr++){for(var rr=I.split("/").filter(hr=>!!hr&&hr!=="."),ir=FS.root,lr="/",dr=0;dr<rr.length;dr++){var mr=dr===rr.length-1;if(mr&&B.parent)break;if(rr[dr]===".."){lr=PATH.dirname(lr),ir=ir.parent;continue}lr=PATH.join2(lr,rr[dr]);try{ir=FS.lookupNode(ir,rr[dr])}catch(hr){if(hr?.errno===44&&mr&&B.noent_okay)return{path:lr};throw hr}if(FS.isMountpoint(ir)&&(!mr||B.follow_mount)&&(ir=ir.mounted.root),FS.isLink(ir.mode)&&(!mr||B.follow)){if(!ir.node_ops.readlink)throw new FS.ErrnoError(52);var _r=ir.node_ops.readlink(ir);PATH.isAbs(_r)||(_r=PATH.dirname(lr)+"/"+_r),I=_r+"/"+rr.slice(dr+1).join("/");continue e}}return{path:lr,node:ir}}throw new FS.ErrnoError(32)},getPath(I){for(var B;;){if(FS.isRoot(I)){var tr=I.mount.mountpoint;return B?tr[tr.length-1]!=="/"?`${tr}/${B}`:tr+B:tr}B=B?`${I.name}/${B}`:I.name,I=I.parent}},hashName(I,B){for(var tr=0,rr=0;rr<B.length;rr++)tr=(tr<<5)-tr+B.charCodeAt(rr)|0;return(I+tr>>>0)%FS.nameTable.length},hashAddNode(I){var B=FS.hashName(I.parent.id,I.name);I.name_next=FS.nameTable[B],FS.nameTable[B]=I},hashRemoveNode(I){var B=FS.hashName(I.parent.id,I.name);if(FS.nameTable[B]===I)FS.nameTable[B]=I.name_next;else for(var tr=FS.nameTable[B];tr;){if(tr.name_next===I){tr.name_next=I.name_next;break}tr=tr.name_next}},lookupNode(I,B){var tr=FS.mayLookup(I);if(tr)throw new FS.ErrnoError(tr);for(var rr=FS.hashName(I.id,B),ir=FS.nameTable[rr];ir;ir=ir.name_next){var lr=ir.name;if(ir.parent.id===I.id&&lr===B)return ir}return FS.lookup(I,B)},createNode(I,B,tr,rr){var ir=new FS.FSNode(I,B,tr,rr);return FS.hashAddNode(ir),ir},destroyNode(I){FS.hashRemoveNode(I)},isRoot(I){return I===I.parent},isMountpoint(I){return!!I.mounted},isFile(I){return(I&61440)===32768},isDir(I){return(I&61440)===16384},isLink(I){return(I&61440)===40960},isChrdev(I){return(I&61440)===8192},isBlkdev(I){return(I&61440)===24576},isFIFO(I){return(I&61440)===4096},isSocket(I){return(I&49152)===49152},flagsToPermissionString(I){var B=["r","w","rw"][I&3];return I&512&&(B+="w"),B},nodePermissions(I,B){return FS.ignorePermissions?0:B.includes("r")&&!(I.mode&292)||B.includes("w")&&!(I.mode&146)||B.includes("x")&&!(I.mode&73)?2:0},mayLookup(I){if(!FS.isDir(I.mode))return 54;var B=FS.nodePermissions(I,"x");return B||(I.node_ops.lookup?0:2)},mayCreate(I,B){if(!FS.isDir(I.mode))return 54;try{var tr=FS.lookupNode(I,B);return 20}catch{}return FS.nodePermissions(I,"wx")},mayDelete(I,B,tr){var rr;try{rr=FS.lookupNode(I,B)}catch(lr){return lr.errno}var ir=FS.nodePermissions(I,"wx");if(ir)return ir;if(tr){if(!FS.isDir(rr.mode))return 54;if(FS.isRoot(rr)||FS.getPath(rr)===FS.cwd())return 10}else if(FS.isDir(rr.mode))return 31;return 0},mayOpen(I,B){return I?FS.isLink(I.mode)?32:FS.isDir(I.mode)&&(FS.flagsToPermissionString(B)!=="r"||B&512)?31:FS.nodePermissions(I,FS.flagsToPermissionString(B)):44},MAX_OPEN_FDS:4096,nextfd(){for(var I=0;I<=FS.MAX_OPEN_FDS;I++)if(!FS.streams[I])return I;throw new FS.ErrnoError(33)},getStreamChecked(I){var B=FS.getStream(I);if(!B)throw new FS.ErrnoError(8);return B},getStream:I=>FS.streams[I],createStream(I,B=-1){return I=Object.assign(new FS.FSStream,I),B==-1&&(B=FS.nextfd()),I.fd=B,FS.streams[B]=I,I},closeStream(I){FS.streams[I]=null},dupStream(I,B=-1){var tr=FS.createStream(I,B);return tr.stream_ops?.dup?.(tr),tr},chrdev_stream_ops:{open(I){var B=FS.getDevice(I.node.rdev);I.stream_ops=B.stream_ops,I.stream_ops.open?.(I)},llseek(){throw new FS.ErrnoError(70)}},major:I=>I>>8,minor:I=>I&255,makedev:(I,B)=>I<<8|B,registerDevice(I,B){FS.devices[I]={stream_ops:B}},getDevice:I=>FS.devices[I],getMounts(I){for(var B=[],tr=[I];tr.length;){var rr=tr.pop();B.push(rr),tr.push(...rr.mounts)}return B},syncfs(I,B){typeof I=="function"&&(B=I,I=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var tr=FS.getMounts(FS.root.mount),rr=0;function ir(dr){return FS.syncFSRequests--,B(dr)}function lr(dr){if(dr)return lr.errored?void 0:(lr.errored=!0,ir(dr));++rr>=tr.length&&ir(null)}tr.forEach(dr=>{if(!dr.type.syncfs)return lr(null);dr.type.syncfs(dr,I,lr)})},mount(I,B,tr){var rr=tr==="/",ir=!tr,lr;if(rr&&FS.root)throw new FS.ErrnoError(10);if(!rr&&!ir){var dr=FS.lookupPath(tr,{follow_mount:!1});if(tr=dr.path,lr=dr.node,FS.isMountpoint(lr))throw new FS.ErrnoError(10);if(!FS.isDir(lr.mode))throw new FS.ErrnoError(54)}var mr={type:I,opts:B,mountpoint:tr,mounts:[]},_r=I.mount(mr);return _r.mount=mr,mr.root=_r,rr?FS.root=_r:lr&&(lr.mounted=mr,lr.mount&&lr.mount.mounts.push(mr)),_r},unmount(I){var B=FS.lookupPath(I,{follow_mount:!1});if(!FS.isMountpoint(B.node))throw new FS.ErrnoError(28);var tr=B.node,rr=tr.mounted,ir=FS.getMounts(rr);Object.keys(FS.nameTable).forEach(dr=>{for(var mr=FS.nameTable[dr];mr;){var _r=mr.name_next;ir.includes(mr.mount)&&FS.destroyNode(mr),mr=_r}}),tr.mounted=null;var lr=tr.mount.mounts.indexOf(rr);tr.mount.mounts.splice(lr,1)},lookup(I,B){return I.node_ops.lookup(I,B)},mknod(I,B,tr){var rr=FS.lookupPath(I,{parent:!0}),ir=rr.node,lr=PATH.basename(I);if(!lr||lr==="."||lr==="..")throw new FS.ErrnoError(28);var dr=FS.mayCreate(ir,lr);if(dr)throw new FS.ErrnoError(dr);if(!ir.node_ops.mknod)throw new FS.ErrnoError(63);return ir.node_ops.mknod(ir,lr,B,tr)},statfs(I){var B={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255},tr=FS.lookupPath(I,{follow:!0}).node;return tr?.node_ops.statfs&&Object.assign(B,tr.node_ops.statfs(tr.mount.opts.root)),B},create(I,B=438){return B&=4095,B|=32768,FS.mknod(I,B,0)},mkdir(I,B=511){return B&=1023,B|=16384,FS.mknod(I,B,0)},mkdirTree(I,B){for(var tr=I.split("/"),rr="",ir=0;ir<tr.length;++ir)if(tr[ir]){rr+="/"+tr[ir];try{FS.mkdir(rr,B)}catch(lr){if(lr.errno!=20)throw lr}}},mkdev(I,B,tr){return typeof tr>"u"&&(tr=B,B=438),B|=8192,FS.mknod(I,B,tr)},symlink(I,B){if(!PATH_FS.resolve(I))throw new FS.ErrnoError(44);var tr=FS.lookupPath(B,{parent:!0}),rr=tr.node;if(!rr)throw new FS.ErrnoError(44);var ir=PATH.basename(B),lr=FS.mayCreate(rr,ir);if(lr)throw new FS.ErrnoError(lr);if(!rr.node_ops.symlink)throw new FS.ErrnoError(63);return rr.node_ops.symlink(rr,ir,I)},rename(I,B){var tr=PATH.dirname(I),rr=PATH.dirname(B),ir=PATH.basename(I),lr=PATH.basename(B),dr,mr,_r;if(dr=FS.lookupPath(I,{parent:!0}),mr=dr.node,dr=FS.lookupPath(B,{parent:!0}),_r=dr.node,!mr||!_r)throw new FS.ErrnoError(44);if(mr.mount!==_r.mount)throw new FS.ErrnoError(75);var hr=FS.lookupNode(mr,ir),fr=PATH_FS.relative(I,rr);if(fr.charAt(0)!==".")throw new FS.ErrnoError(28);if(fr=PATH_FS.relative(B,tr),fr.charAt(0)!==".")throw new FS.ErrnoError(55);var gr;try{gr=FS.lookupNode(_r,lr)}catch{}if(hr!==gr){var xr=FS.isDir(hr.mode),wr=FS.mayDelete(mr,ir,xr);if(wr)throw new FS.ErrnoError(wr);if(wr=gr?FS.mayDelete(_r,lr,xr):FS.mayCreate(_r,lr),wr)throw new FS.ErrnoError(wr);if(!mr.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(hr)||gr&&FS.isMountpoint(gr))throw new FS.ErrnoError(10);if(_r!==mr&&(wr=FS.nodePermissions(mr,"w"),wr))throw new FS.ErrnoError(wr);FS.hashRemoveNode(hr);try{mr.node_ops.rename(hr,_r,lr),hr.parent=_r}catch(Sr){throw Sr}finally{FS.hashAddNode(hr)}}},rmdir(I){var B=FS.lookupPath(I,{parent:!0}),tr=B.node,rr=PATH.basename(I),ir=FS.lookupNode(tr,rr),lr=FS.mayDelete(tr,rr,!0);if(lr)throw new FS.ErrnoError(lr);if(!tr.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(ir))throw new FS.ErrnoError(10);tr.node_ops.rmdir(tr,rr),FS.destroyNode(ir)},readdir(I){var B=FS.lookupPath(I,{follow:!0}),tr=B.node;if(!tr.node_ops.readdir)throw new FS.ErrnoError(54);return tr.node_ops.readdir(tr)},unlink(I){var B=FS.lookupPath(I,{parent:!0}),tr=B.node;if(!tr)throw new FS.ErrnoError(44);var rr=PATH.basename(I),ir=FS.lookupNode(tr,rr),lr=FS.mayDelete(tr,rr,!1);if(lr)throw new FS.ErrnoError(lr);if(!tr.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(ir))throw new FS.ErrnoError(10);tr.node_ops.unlink(tr,rr),FS.destroyNode(ir)},readlink(I){var B=FS.lookupPath(I),tr=B.node;if(!tr)throw new FS.ErrnoError(44);if(!tr.node_ops.readlink)throw new FS.ErrnoError(28);return tr.node_ops.readlink(tr)},stat(I,B){var tr=FS.lookupPath(I,{follow:!B}),rr=tr.node;if(!rr)throw new FS.ErrnoError(44);if(!rr.node_ops.getattr)throw new FS.ErrnoError(63);return rr.node_ops.getattr(rr)},lstat(I){return FS.stat(I,!0)},chmod(I,B,tr){var rr;if(typeof I=="string"){var ir=FS.lookupPath(I,{follow:!tr});rr=ir.node}else rr=I;if(!rr.node_ops.setattr)throw new FS.ErrnoError(63);rr.node_ops.setattr(rr,{mode:B&4095|rr.mode&-4096,ctime:Date.now()})},lchmod(I,B){FS.chmod(I,B,!0)},fchmod(I,B){var tr=FS.getStreamChecked(I);FS.chmod(tr.node,B)},chown(I,B,tr,rr){var ir;if(typeof I=="string"){var lr=FS.lookupPath(I,{follow:!rr});ir=lr.node}else ir=I;if(!ir.node_ops.setattr)throw new FS.ErrnoError(63);ir.node_ops.setattr(ir,{timestamp:Date.now()})},lchown(I,B,tr){FS.chown(I,B,tr,!0)},fchown(I,B,tr){var rr=FS.getStreamChecked(I);FS.chown(rr.node,B,tr)},truncate(I,B){if(B<0)throw new FS.ErrnoError(28);var tr;if(typeof I=="string"){var rr=FS.lookupPath(I,{follow:!0});tr=rr.node}else tr=I;if(!tr.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(tr.mode))throw new FS.ErrnoError(31);if(!FS.isFile(tr.mode))throw new FS.ErrnoError(28);var ir=FS.nodePermissions(tr,"w");if(ir)throw new FS.ErrnoError(ir);tr.node_ops.setattr(tr,{size:B,timestamp:Date.now()})},ftruncate(I,B){var tr=FS.getStreamChecked(I);if(!(tr.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(tr.node,B)},utime(I,B,tr){var rr=FS.lookupPath(I,{follow:!0}),ir=rr.node;ir.node_ops.setattr(ir,{atime:B,mtime:tr})},open(I,B,tr=438){if(I==="")throw new FS.ErrnoError(44);B=typeof B=="string"?FS_modeStringToFlags(B):B,B&64?tr=tr&4095|32768:tr=0;var rr;if(typeof I=="object")rr=I;else{var ir=FS.lookupPath(I,{follow:!(B&131072),noent_okay:!0});rr=ir.node,I=ir.path}var lr=!1;if(B&64)if(rr){if(B&128)throw new FS.ErrnoError(20)}else rr=FS.mknod(I,tr,0),lr=!0;if(!rr)throw new FS.ErrnoError(44);if(FS.isChrdev(rr.mode)&&(B&=-513),B&65536&&!FS.isDir(rr.mode))throw new FS.ErrnoError(54);if(!lr){var dr=FS.mayOpen(rr,B);if(dr)throw new FS.ErrnoError(dr)}B&512&&!lr&&FS.truncate(rr,0),B&=-131713;var mr=FS.createStream({node:rr,path:FS.getPath(rr),flags:B,seekable:!0,position:0,stream_ops:rr.stream_ops,ungotten:[],error:!1});return mr.stream_ops.open&&mr.stream_ops.open(mr),Module.logReadFiles&&!(B&1)&&(I in FS.readFiles||(FS.readFiles[I]=1)),mr},close(I){if(FS.isClosed(I))throw new FS.ErrnoError(8);I.getdents&&(I.getdents=null);try{I.stream_ops.close&&I.stream_ops.close(I)}catch(B){throw B}finally{FS.closeStream(I.fd)}I.fd=null},isClosed(I){return I.fd===null},llseek(I,B,tr){if(FS.isClosed(I))throw new FS.ErrnoError(8);if(!I.seekable||!I.stream_ops.llseek)throw new FS.ErrnoError(70);if(tr!=0&&tr!=1&&tr!=2)throw new FS.ErrnoError(28);return I.position=I.stream_ops.llseek(I,B,tr),I.ungotten=[],I.position},read(I,B,tr,rr,ir){if(rr<0||ir<0)throw new FS.ErrnoError(28);if(FS.isClosed(I))throw new FS.ErrnoError(8);if((I.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(I.node.mode))throw new FS.ErrnoError(31);if(!I.stream_ops.read)throw new FS.ErrnoError(28);var lr=typeof ir<"u";if(!lr)ir=I.position;else if(!I.seekable)throw new FS.ErrnoError(70);var dr=I.stream_ops.read(I,B,tr,rr,ir);return lr||(I.position+=dr),dr},write(I,B,tr,rr,ir,lr){if(rr<0||ir<0)throw new FS.ErrnoError(28);if(FS.isClosed(I))throw new FS.ErrnoError(8);if(!(I.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(I.node.mode))throw new FS.ErrnoError(31);if(!I.stream_ops.write)throw new FS.ErrnoError(28);I.seekable&&I.flags&1024&&FS.llseek(I,0,2);var dr=typeof ir<"u";if(!dr)ir=I.position;else if(!I.seekable)throw new FS.ErrnoError(70);var mr=I.stream_ops.write(I,B,tr,rr,ir,lr);return dr||(I.position+=mr),mr},allocate(I,B,tr){if(FS.isClosed(I))throw new FS.ErrnoError(8);if(B<0||tr<=0)throw new FS.ErrnoError(28);if(!(I.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(I.node.mode)&&!FS.isDir(I.node.mode))throw new FS.ErrnoError(43);if(!I.stream_ops.allocate)throw new FS.ErrnoError(138);I.stream_ops.allocate(I,B,tr)},mmap(I,B,tr,rr,ir){if(rr&2&&!(ir&2)&&(I.flags&2097155)!==2)throw new FS.ErrnoError(2);if((I.flags&2097155)===1)throw new FS.ErrnoError(2);if(!I.stream_ops.mmap)throw new FS.ErrnoError(43);if(!B)throw new FS.ErrnoError(28);return I.stream_ops.mmap(I,B,tr,rr,ir)},msync(I,B,tr,rr,ir){return I.stream_ops.msync?I.stream_ops.msync(I,B,tr,rr,ir):0},ioctl(I,B,tr){if(!I.stream_ops.ioctl)throw new FS.ErrnoError(59);return I.stream_ops.ioctl(I,B,tr)},readFile(I,B={}){if(B.flags=B.flags||0,B.encoding=B.encoding||"binary",B.encoding!=="utf8"&&B.encoding!=="binary")throw new Error(`Invalid encoding type "${B.encoding}"`);var tr,rr=FS.open(I,B.flags),ir=FS.stat(I),lr=ir.size,dr=new Uint8Array(lr);return FS.read(rr,dr,0,lr,0),B.encoding==="utf8"?tr=UTF8ArrayToString(dr):B.encoding==="binary"&&(tr=dr),FS.close(rr),tr},writeFile(I,B,tr={}){tr.flags=tr.flags||577;var rr=FS.open(I,tr.flags,tr.mode);if(typeof B=="string"){var ir=new Uint8Array(lengthBytesUTF8(B)+1),lr=stringToUTF8Array(B,ir,0,ir.length);FS.write(rr,ir,0,lr,void 0,tr.canOwn)}else if(ArrayBuffer.isView(B))FS.write(rr,B,0,B.byteLength,void 0,tr.canOwn);else throw new Error("Unsupported data type");FS.close(rr)},cwd:()=>FS.currentPath,chdir(I){var B=FS.lookupPath(I,{follow:!0});if(B.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(B.node.mode))throw new FS.ErrnoError(54);var tr=FS.nodePermissions(B.node,"x");if(tr)throw new FS.ErrnoError(tr);FS.currentPath=B.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(rr,ir,lr,dr,mr)=>dr,llseek:()=>0}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var I=new Uint8Array(1024),B=0,tr=()=>(B===0&&(B=randomFill(I).byteLength),I[--B]);FS.createDevice("/dev","random",tr),FS.createDevice("/dev","urandom",tr),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var I=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var B=FS.createNode(I,"fd",16895,73);return B.stream_ops={llseek:MEMFS.stream_ops.llseek},B.node_ops={lookup(tr,rr){var ir=+rr,lr=FS.getStreamChecked(ir),dr={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>lr.path},id:ir+1};return dr.parent=dr,dr},readdir(){return Array.from(FS.streams.entries()).filter(([tr,rr])=>rr).map(([tr,rr])=>tr.toString())}},B}},{},"/proc/self/fd")},createStandardStreams(I,B,tr){I?FS.createDevice("/dev","stdin",I):FS.symlink("/dev/tty","/dev/stdin"),B?FS.createDevice("/dev","stdout",null,B):FS.symlink("/dev/tty","/dev/stdout"),tr?FS.createDevice("/dev","stderr",null,tr):FS.symlink("/dev/tty1","/dev/stderr"),FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS,IDBFS,NODEFS}},init(I,B,tr){FS.initialized=!0,I??(I=Module.stdin),B??(B=Module.stdout),tr??(tr=Module.stderr),FS.createStandardStreams(I,B,tr)},quit(){FS.initialized=!1,_fflush(0);for(var I=0;I<FS.streams.length;I++){var B=FS.streams[I];B&&FS.close(B)}},findObject(I,B){var tr=FS.analyzePath(I,B);return tr.exists?tr.object:null},analyzePath(I,B){try{var tr=FS.lookupPath(I,{follow:!B});I=tr.path}catch{}var rr={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var tr=FS.lookupPath(I,{parent:!0});rr.parentExists=!0,rr.parentPath=tr.path,rr.parentObject=tr.node,rr.name=PATH.basename(I),tr=FS.lookupPath(I,{follow:!B}),rr.exists=!0,rr.path=tr.path,rr.object=tr.node,rr.name=tr.node.name,rr.isRoot=tr.path==="/"}catch(ir){rr.error=ir.errno}return rr},createPath(I,B,tr,rr){I=typeof I=="string"?I:FS.getPath(I);for(var ir=B.split("/").reverse();ir.length;){var lr=ir.pop();if(lr){var dr=PATH.join2(I,lr);try{FS.mkdir(dr)}catch{}I=dr}}return dr},createFile(I,B,tr,rr,ir){var lr=PATH.join2(typeof I=="string"?I:FS.getPath(I),B),dr=FS_getMode(rr,ir);return FS.create(lr,dr)},createDataFile(I,B,tr,rr,ir,lr){var dr=B;I&&(I=typeof I=="string"?I:FS.getPath(I),dr=B?PATH.join2(I,B):I);var mr=FS_getMode(rr,ir),_r=FS.create(dr,mr);if(tr){if(typeof tr=="string"){for(var hr=new Array(tr.length),fr=0,gr=tr.length;fr<gr;++fr)hr[fr]=tr.charCodeAt(fr);tr=hr}FS.chmod(_r,mr|146);var xr=FS.open(_r,577);FS.write(xr,tr,0,tr.length,0,lr),FS.close(xr),FS.chmod(_r,mr)}},createDevice(I,B,tr,rr){var ir,lr=PATH.join2(typeof I=="string"?I:FS.getPath(I),B),dr=FS_getMode(!!tr,!!rr);(ir=FS.createDevice).major??(ir.major=64);var mr=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(mr,{open(_r){_r.seekable=!1},close(_r){rr?.buffer?.length&&rr(10)},read(_r,hr,fr,gr,xr){for(var wr=0,Sr=0;Sr<gr;Sr++){var vr;try{vr=tr()}catch{throw new FS.ErrnoError(29)}if(vr===void 0&&wr===0)throw new FS.ErrnoError(6);if(vr==null)break;wr++,hr[fr+Sr]=vr}return wr&&(_r.node.atime=Date.now()),wr},write(_r,hr,fr,gr,xr){for(var wr=0;wr<gr;wr++)try{rr(hr[fr+wr])}catch{throw new FS.ErrnoError(29)}return gr&&(_r.node.mtime=_r.node.ctime=Date.now()),wr}}),FS.mkdev(lr,dr,mr)},forceLoadFile(I){if(I.isDevice||I.isFolder||I.link||I.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{I.contents=readBinary(I.url),I.usedBytes=I.contents.length}catch{throw new FS.ErrnoError(29)}},createLazyFile(I,B,tr,rr,ir){class lr{constructor(){P$1(this,"lengthKnown",!1),P$1(this,"chunks",[])}get(wr){if(!(wr>this.length-1||wr<0)){var Sr=wr%this.chunkSize,vr=wr/this.chunkSize|0;return this.getter(vr)[Sr]}}setDataGetter(wr){this.getter=wr}cacheLength(){var wr=new XMLHttpRequest;if(wr.open("HEAD",tr,!1),wr.send(null),!(wr.status>=200&&wr.status<300||wr.status===304))throw new Error("Couldn't load "+tr+". Status: "+wr.status);var Sr=Number(wr.getResponseHeader("Content-length")),vr,Ir=(vr=wr.getResponseHeader("Accept-Ranges"))&&vr==="bytes",Mr=(vr=wr.getResponseHeader("Content-Encoding"))&&vr==="gzip",yr=1024*1024;Ir||(yr=Sr);var br=(Fr,Lr)=>{if(Fr>Lr)throw new Error("invalid range ("+Fr+", "+Lr+") or no bytes requested!");if(Lr>Sr-1)throw new Error("only "+Sr+" bytes available! programmer error!");var Ar=new XMLHttpRequest;if(Ar.open("GET",tr,!1),Sr!==yr&&Ar.setRequestHeader("Range","bytes="+Fr+"-"+Lr),Ar.responseType="arraybuffer",Ar.overrideMimeType&&Ar.overrideMimeType("text/plain; charset=x-user-defined"),Ar.send(null),!(Ar.status>=200&&Ar.status<300||Ar.status===304))throw new Error("Couldn't load "+tr+". Status: "+Ar.status);return Ar.response!==void 0?new Uint8Array(Ar.response||[]):intArrayFromString(Ar.responseText||"")},Cr=this;Cr.setDataGetter(Fr=>{var Lr=Fr*yr,Ar=(Fr+1)*yr-1;if(Ar=Math.min(Ar,Sr-1),typeof Cr.chunks[Fr]>"u"&&(Cr.chunks[Fr]=br(Lr,Ar)),typeof Cr.chunks[Fr]>"u")throw new Error("doXHR failed!");return Cr.chunks[Fr]}),(Mr||!Sr)&&(yr=Sr=1,Sr=this.getter(0).length,yr=Sr,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=Sr,this._chunkSize=yr,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var dr=new lr,mr={isDevice:!1,contents:dr}}else var mr={isDevice:!1,url:tr};var _r=FS.createFile(I,B,mr,rr,ir);mr.contents?_r.contents=mr.contents:mr.url&&(_r.contents=null,_r.url=mr.url),Object.defineProperties(_r,{usedBytes:{get:function(){return this.contents.length}}});var hr={},fr=Object.keys(_r.stream_ops);fr.forEach(xr=>{var wr=_r.stream_ops[xr];hr[xr]=(...Sr)=>(FS.forceLoadFile(_r),wr(...Sr))});function gr(xr,wr,Sr,vr,Ir){var Mr=xr.node.contents;if(Ir>=Mr.length)return 0;var yr=Math.min(Mr.length-Ir,vr);if(Mr.slice)for(var br=0;br<yr;br++)wr[Sr+br]=Mr[Ir+br];else for(var br=0;br<yr;br++)wr[Sr+br]=Mr.get(Ir+br);return yr}return hr.read=(xr,wr,Sr,vr,Ir)=>(FS.forceLoadFile(_r),gr(xr,wr,Sr,vr,Ir)),hr.mmap=(xr,wr,Sr,vr,Ir)=>{FS.forceLoadFile(_r);var Mr=mmapAlloc(wr);if(!Mr)throw new FS.ErrnoError(48);return gr(xr,HEAP8,Mr,wr,Sr),{ptr:Mr,allocated:!0}},_r.stream_ops=hr,_r}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(I,B,tr){if(PATH.isAbs(B))return B;var rr;if(I===-100)rr=FS.cwd();else{var ir=SYSCALLS.getStreamFromFD(I);rr=ir.path}if(B.length==0){if(!tr)throw new FS.ErrnoError(44);return rr}return rr+"/"+B},doStat(I,B,tr){var rr=I(B);HEAP32[tr>>2]=rr.dev,HEAP32[tr+4>>2]=rr.mode,HEAPU32[tr+8>>2]=rr.nlink,HEAP32[tr+12>>2]=rr.uid,HEAP32[tr+16>>2]=rr.gid,HEAP32[tr+20>>2]=rr.rdev,HEAP64[tr+24>>3]=BigInt(rr.size),HEAP32[tr+32>>2]=4096,HEAP32[tr+36>>2]=rr.blocks;var ir=rr.atime.getTime(),lr=rr.mtime.getTime(),dr=rr.ctime.getTime();return HEAP64[tr+40>>3]=BigInt(Math.floor(ir/1e3)),HEAPU32[tr+48>>2]=ir%1e3*1e3*1e3,HEAP64[tr+56>>3]=BigInt(Math.floor(lr/1e3)),HEAPU32[tr+64>>2]=lr%1e3*1e3*1e3,HEAP64[tr+72>>3]=BigInt(Math.floor(dr/1e3)),HEAPU32[tr+80>>2]=dr%1e3*1e3*1e3,HEAP64[tr+88>>3]=BigInt(rr.ino),0},doMsync(I,B,tr,rr,ir){if(!FS.isFile(B.node.mode))throw new FS.ErrnoError(43);if(rr&2)return 0;var lr=HEAPU8.slice(I,I+tr);FS.msync(B,lr,ir,tr,rr)},getStreamFromFD(I){var B=FS.getStreamChecked(I);return B},varargs:void 0,getStr(I){var B=UTF8ToString(I);return B}},___syscall__newselect=function(I,B,tr,rr,ir){try{for(var lr=0,dr=B?HEAP32[B>>2]:0,mr=B?HEAP32[B+4>>2]:0,_r=tr?HEAP32[tr>>2]:0,hr=tr?HEAP32[tr+4>>2]:0,fr=rr?HEAP32[rr>>2]:0,gr=rr?HEAP32[rr+4>>2]:0,xr=0,wr=0,Sr=0,vr=0,Ir=0,Mr=0,yr=(B?HEAP32[B>>2]:0)|(tr?HEAP32[tr>>2]:0)|(rr?HEAP32[rr>>2]:0),br=(B?HEAP32[B+4>>2]:0)|(tr?HEAP32[tr+4>>2]:0)|(rr?HEAP32[rr+4>>2]:0),Cr=(zr,ao,no,Eo)=>zr<32?ao&Eo:no&Eo,Fr=0;Fr<I;Fr++){var Lr=1<<Fr%32;if(Cr(Fr,yr,br,Lr)){var Ar=SYSCALLS.getStreamFromFD(Fr),Or=SYSCALLS.DEFAULT_POLLMASK;if(Ar.stream_ops.poll){var Jr=-1;if(ir){var Gr=B?HEAP32[ir>>2]:0,oo=B?HEAP32[ir+4>>2]:0;Jr=(Gr+oo/1e6)*1e3}Or=Ar.stream_ops.poll(Ar,Jr)}Or&1&&Cr(Fr,dr,mr,Lr)&&(Fr<32?xr=xr|Lr:wr=wr|Lr,lr++),Or&4&&Cr(Fr,_r,hr,Lr)&&(Fr<32?Sr=Sr|Lr:vr=vr|Lr,lr++),Or&2&&Cr(Fr,fr,gr,Lr)&&(Fr<32?Ir=Ir|Lr:Mr=Mr|Lr,lr++)}}return B&&(HEAP32[B>>2]=xr,HEAP32[B+4>>2]=wr),tr&&(HEAP32[tr>>2]=Sr,HEAP32[tr+4>>2]=vr),rr&&(HEAP32[rr>>2]=Ir,HEAP32[rr+4>>2]=Mr),lr}catch(zr){if(typeof FS>"u"||zr.name!=="ErrnoError")throw zr;return-zr.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(I,B){SOCKFS.callbacks[I]=B},emit(I,B){SOCKFS.callbacks[I]?.(B)},mount(I){return SOCKFS.websocketArgs=Module.websocket||{},(Module.websocket??(Module.websocket={})).on=SOCKFS.on,FS.createNode(null,"/",16895,0)},createSocket(I,B,tr){B&=-526337;var rr=B==1;if(rr&&tr&&tr!=6)throw new FS.ErrnoError(66);var ir={family:I,type:B,protocol:tr,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},lr=SOCKFS.nextname(),dr=FS.createNode(SOCKFS.root,lr,49152,0);dr.sock=ir;var mr=FS.createStream({path:lr,node:dr,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return ir.stream=mr,ir},getSocket(I){var B=FS.getStream(I);return!B||!FS.isSocket(B.node.mode)?null:B.node.sock},stream_ops:{poll(I){var B=I.node.sock;return B.sock_ops.poll(B)},ioctl(I,B,tr){var rr=I.node.sock;return rr.sock_ops.ioctl(rr,B,tr)},read(I,B,tr,rr,ir){var lr=I.node.sock,dr=lr.sock_ops.recvmsg(lr,rr);return dr?(B.set(dr.buffer,tr),dr.buffer.length):0},write(I,B,tr,rr,ir){var lr=I.node.sock;return lr.sock_ops.sendmsg(lr,B,tr,rr)},close(I){var B=I.node.sock;B.sock_ops.close(B)}},nextname(){return SOCKFS.nextname.current||(SOCKFS.nextname.current=0),`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(I,B,tr){var rr;if(typeof B=="object"&&(rr=B,B=null,tr=null),rr)if(rr._socket)B=rr._socket.remoteAddress,tr=rr._socket.remotePort;else{var ir=/ws[s]?:\/\/([^:]+):(\d+)/.exec(rr.url);if(!ir)throw new Error("WebSocket URL must be in the format ws(s)://address:port");B=ir[1],tr=parseInt(ir[2],10)}else try{var lr="ws:#".replace("#","//"),dr="binary",mr=void 0;if(SOCKFS.websocketArgs.url&&(lr=SOCKFS.websocketArgs.url),SOCKFS.websocketArgs.subprotocol?dr=SOCKFS.websocketArgs.subprotocol:SOCKFS.websocketArgs.subprotocol===null&&(dr="null"),lr==="ws://"||lr==="wss://"){var _r=B.split("/");lr=lr+_r[0]+":"+tr+"/"+_r.slice(1).join("/")}dr!=="null"&&(dr=dr.replace(/^ +| +$/g,"").split(/ *, */),mr=dr);var hr;ENVIRONMENT_IS_NODE?hr=require("ws"):hr=WebSocket,rr=new hr(lr,mr),rr.binaryType="arraybuffer"}catch{throw new FS.ErrnoError(23)}var fr={addr:B,port:tr,socket:rr,msg_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(I,fr),SOCKFS.websocket_sock_ops.handlePeerEvents(I,fr),I.type===2&&typeof I.sport<"u"&&fr.msg_send_queue.push(new Uint8Array([255,255,255,255,112,111,114,116,(I.sport&65280)>>8,I.sport&255])),fr},getPeer(I,B,tr){return I.peers[B+":"+tr]},addPeer(I,B){I.peers[B.addr+":"+B.port]=B},removePeer(I,B){delete I.peers[B.addr+":"+B.port]},handlePeerEvents(I,B){var tr=!0,rr=function(){I.connecting=!1,SOCKFS.emit("open",I.stream.fd);try{for(var lr=B.msg_send_queue.shift();lr;)B.socket.send(lr),lr=B.msg_send_queue.shift()}catch{B.socket.close()}};function ir(lr){if(typeof lr=="string"){var dr=new TextEncoder;lr=dr.encode(lr)}else{if(assert(lr.byteLength!==void 0),lr.byteLength==0)return;lr=new Uint8Array(lr)}var mr=tr;if(tr=!1,mr&&lr.length===10&&lr[0]===255&&lr[1]===255&&lr[2]===255&&lr[3]===255&&lr[4]===112&&lr[5]===111&&lr[6]===114&&lr[7]===116){var _r=lr[8]<<8|lr[9];SOCKFS.websocket_sock_ops.removePeer(I,B),B.port=_r,SOCKFS.websocket_sock_ops.addPeer(I,B);return}I.recv_queue.push({addr:B.addr,port:B.port,data:lr}),SOCKFS.emit("message",I.stream.fd)}ENVIRONMENT_IS_NODE?(B.socket.on("open",rr),B.socket.on("message",function(lr,dr){dr&&ir(new Uint8Array(lr).buffer)}),B.socket.on("close",function(){SOCKFS.emit("close",I.stream.fd)}),B.socket.on("error",function(lr){I.error=14,SOCKFS.emit("error",[I.stream.fd,I.error,"ECONNREFUSED: Connection refused"])})):(B.socket.onopen=rr,B.socket.onclose=function(){SOCKFS.emit("close",I.stream.fd)},B.socket.onmessage=function(lr){ir(lr.data)},B.socket.onerror=function(lr){I.error=14,SOCKFS.emit("error",[I.stream.fd,I.error,"ECONNREFUSED: Connection refused"])})},poll(I){if(I.type===1&&I.server)return I.pending.length?65:0;var B=0,tr=I.type===1?SOCKFS.websocket_sock_ops.getPeer(I,I.daddr,I.dport):null;return(I.recv_queue.length||!tr||tr&&tr.socket.readyState===tr.socket.CLOSING||tr&&tr.socket.readyState===tr.socket.CLOSED)&&(B|=65),(!tr||tr&&tr.socket.readyState===tr.socket.OPEN)&&(B|=4),(tr&&tr.socket.readyState===tr.socket.CLOSING||tr&&tr.socket.readyState===tr.socket.CLOSED)&&(I.connecting?B|=4:B|=16),B},ioctl(I,B,tr){switch(B){case 21531:var rr=0;return I.recv_queue.length&&(rr=I.recv_queue[0].data.length),HEAP32[tr>>2]=rr,0;default:return 28}},close(I){if(I.server){try{I.server.close()}catch{}I.server=null}for(var B=Object.keys(I.peers),tr=0;tr<B.length;tr++){var rr=I.peers[B[tr]];try{rr.socket.close()}catch{}SOCKFS.websocket_sock_ops.removePeer(I,rr)}return 0},bind(I,B,tr){if(typeof I.saddr<"u"||typeof I.sport<"u")throw new FS.ErrnoError(28);if(I.saddr=B,I.sport=tr,I.type===2){I.server&&(I.server.close(),I.server=null);try{I.sock_ops.listen(I,0)}catch(rr){if(rr.name!=="ErrnoError"||rr.errno!==138)throw rr}}},connect(I,B,tr){if(I.server)throw new FS.ErrnoError(138);if(typeof I.daddr<"u"&&typeof I.dport<"u"){var rr=SOCKFS.websocket_sock_ops.getPeer(I,I.daddr,I.dport);if(rr)throw rr.socket.readyState===rr.socket.CONNECTING?new FS.ErrnoError(7):new FS.ErrnoError(30)}var ir=SOCKFS.websocket_sock_ops.createPeer(I,B,tr);I.daddr=ir.addr,I.dport=ir.port,I.connecting=!0},listen(I,B){if(!ENVIRONMENT_IS_NODE)throw new FS.ErrnoError(138);if(I.server)throw new FS.ErrnoError(28);var tr=require("ws").Server,rr=I.saddr;I.server=new tr({host:rr,port:I.sport}),SOCKFS.emit("listen",I.stream.fd),I.server.on("connection",function(ir){if(I.type===1){var lr=SOCKFS.createSocket(I.family,I.type,I.protocol),dr=SOCKFS.websocket_sock_ops.createPeer(lr,ir);lr.daddr=dr.addr,lr.dport=dr.port,I.pending.push(lr),SOCKFS.emit("connection",lr.stream.fd)}else SOCKFS.websocket_sock_ops.createPeer(I,ir),SOCKFS.emit("connection",I.stream.fd)}),I.server.on("close",function(){SOCKFS.emit("close",I.stream.fd),I.server=null}),I.server.on("error",function(ir){I.error=23,SOCKFS.emit("error",[I.stream.fd,I.error,"EHOSTUNREACH: Host is unreachable"])})},accept(I){if(!I.server||!I.pending.length)throw new FS.ErrnoError(28);var B=I.pending.shift();return B.stream.flags=I.stream.flags,B},getname(I,B){var tr,rr;if(B){if(I.daddr===void 0||I.dport===void 0)throw new FS.ErrnoError(53);tr=I.daddr,rr=I.dport}else tr=I.saddr||0,rr=I.sport||0;return{addr:tr,port:rr}},sendmsg(I,B,tr,rr,ir,lr){if(I.type===2){if((ir===void 0||lr===void 0)&&(ir=I.daddr,lr=I.dport),ir===void 0||lr===void 0)throw new FS.ErrnoError(17)}else ir=I.daddr,lr=I.dport;var dr=SOCKFS.websocket_sock_ops.getPeer(I,ir,lr);if(I.type===1&&(!dr||dr.socket.readyState===dr.socket.CLOSING||dr.socket.readyState===dr.socket.CLOSED))throw new FS.ErrnoError(53);ArrayBuffer.isView(B)&&(tr+=B.byteOffset,B=B.buffer);var mr=B.slice(tr,tr+rr);if(!dr||dr.socket.readyState!==dr.socket.OPEN)return I.type===2&&(!dr||dr.socket.readyState===dr.socket.CLOSING||dr.socket.readyState===dr.socket.CLOSED)&&(dr=SOCKFS.websocket_sock_ops.createPeer(I,ir,lr)),dr.msg_send_queue.push(mr),rr;try{return dr.socket.send(mr),rr}catch{throw new FS.ErrnoError(28)}},recvmsg(I,B){if(I.type===1&&I.server)throw new FS.ErrnoError(53);var tr=I.recv_queue.shift();if(!tr){if(I.type===1){var rr=SOCKFS.websocket_sock_ops.getPeer(I,I.daddr,I.dport);if(!rr)throw new FS.ErrnoError(53);if(rr.socket.readyState===rr.socket.CLOSING||rr.socket.readyState===rr.socket.CLOSED)return null;throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var ir=tr.data.byteLength||tr.data.length,lr=tr.data.byteOffset||0,dr=tr.data.buffer||tr.data,mr=Math.min(B,ir),_r={buffer:new Uint8Array(dr,lr,mr),addr:tr.addr,port:tr.port};if(I.type===1&&mr<ir){var hr=ir-mr;tr.data=new Uint8Array(dr,lr+mr,hr),I.recv_queue.unshift(tr)}return _r}}},getSocketFromFD=I=>{var B=SOCKFS.getSocket(I);if(!B)throw new FS.ErrnoError(8);return B},inetNtop4=I=>(I&255)+"."+(I>>8&255)+"."+(I>>16&255)+"."+(I>>24&255),inetNtop6=I=>{var B="",tr=0,rr=0,ir=0,lr=0,dr=0,mr=0,_r=[I[0]&65535,I[0]>>16,I[1]&65535,I[1]>>16,I[2]&65535,I[2]>>16,I[3]&65535,I[3]>>16],hr=!0,fr="";for(mr=0;mr<5;mr++)if(_r[mr]!==0){hr=!1;break}if(hr){if(fr=inetNtop4(_r[6]|_r[7]<<16),_r[5]===-1)return B="::ffff:",B+=fr,B;if(_r[5]===0)return B="::",fr==="0.0.0.0"&&(fr=""),fr==="0.0.0.1"&&(fr="1"),B+=fr,B}for(tr=0;tr<8;tr++)_r[tr]===0&&(tr-ir>1&&(dr=0),ir=tr,dr++),dr>rr&&(rr=dr,lr=tr-rr+1);for(tr=0;tr<8;tr++){if(rr>1&&_r[tr]===0&&tr>=lr&&tr<lr+rr){tr===lr&&(B+=":",lr===0&&(B+=":"));continue}B+=Number(_ntohs(_r[tr]&65535)).toString(16),B+=tr<7?":":""}return B},readSockaddr=(I,B)=>{var tr=HEAP16[I>>1],rr=_ntohs(HEAPU16[I+2>>1]),ir;switch(tr){case 2:if(B!==16)return{errno:28};ir=HEAP32[I+4>>2],ir=inetNtop4(ir);break;case 10:if(B!==28)return{errno:28};ir=[HEAP32[I+8>>2],HEAP32[I+12>>2],HEAP32[I+16>>2],HEAP32[I+20>>2]],ir=inetNtop6(ir);break;default:return{errno:5}}return{family:tr,addr:ir,port:rr}},inetPton4=I=>{for(var B=I.split("."),tr=0;tr<4;tr++){var rr=Number(B[tr]);if(isNaN(rr))return null;B[tr]=rr}return(B[0]|B[1]<<8|B[2]<<16|B[3]<<24)>>>0},jstoi_q=I=>parseInt(I),inetPton6=I=>{var B,tr,rr,ir,lr=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,dr=[];if(!lr.test(I))return null;if(I==="::")return[0,0,0,0,0,0,0,0];for(I.startsWith("::")?I=I.replace("::","Z:"):I=I.replace("::",":Z:"),I.indexOf(".")>0?(I=I.replace(new RegExp("[.]","g"),":"),B=I.split(":"),B[B.length-4]=jstoi_q(B[B.length-4])+jstoi_q(B[B.length-3])*256,B[B.length-3]=jstoi_q(B[B.length-2])+jstoi_q(B[B.length-1])*256,B=B.slice(0,B.length-2)):B=I.split(":"),rr=0,ir=0,tr=0;tr<B.length;tr++)if(typeof B[tr]=="string")if(B[tr]==="Z"){for(ir=0;ir<8-B.length+1;ir++)dr[tr+ir]=0;rr=ir-1}else dr[tr+rr]=_htons(parseInt(B[tr],16));else dr[tr+rr]=B[tr];return[dr[1]<<16|dr[0],dr[3]<<16|dr[2],dr[5]<<16|dr[4],dr[7]<<16|dr[6]]},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(I){var B=inetPton4(I);if(B!==null||(B=inetPton6(I),B!==null))return I;var tr;if(DNS.address_map.addrs[I])tr=DNS.address_map.addrs[I];else{var rr=DNS.address_map.id++;assert(rr<65535,"exceeded max address mappings of 65535"),tr="172.29."+(rr&255)+"."+(rr&65280),DNS.address_map.names[tr]=I,DNS.address_map.addrs[I]=tr}return tr},lookup_addr(I){return DNS.address_map.names[I]?DNS.address_map.names[I]:null}},getSocketAddress=(I,B)=>{var tr=readSockaddr(I,B);if(tr.errno)throw new FS.ErrnoError(tr.errno);return tr.addr=DNS.lookup_addr(tr.addr)||tr.addr,tr};function ___syscall_bind(I,B,tr,rr,ir,lr){try{var dr=getSocketFromFD(I),mr=getSocketAddress(B,tr);return dr.sock_ops.bind(dr,mr.addr,mr.port),0}catch(_r){if(typeof FS>"u"||_r.name!=="ErrnoError")throw _r;return-_r.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(I){try{return I=SYSCALLS.getStr(I),FS.chdir(I),0}catch(B){if(typeof FS>"u"||B.name!=="ErrnoError")throw B;return-B.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(I,B){try{return I=SYSCALLS.getStr(I),FS.chmod(I,B),0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(I,B,tr,rr,ir,lr){try{var dr=getSocketFromFD(I),mr=getSocketAddress(B,tr);return dr.sock_ops.connect(dr,mr.addr,mr.port),0}catch(_r){if(typeof FS>"u"||_r.name!=="ErrnoError")throw _r;return-_r.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(I){try{var B=SYSCALLS.getStreamFromFD(I);return FS.dupStream(B).fd}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(I,B,tr){try{var rr=SYSCALLS.getStreamFromFD(I);if(rr.fd===B)return-28;if(B<0||B>=FS.MAX_OPEN_FDS)return-8;var ir=FS.getStream(B);return ir&&FS.close(ir),FS.dupStream(rr,B).fd}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return-lr.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(I,B,tr,rr){try{if(B=SYSCALLS.getStr(B),B=SYSCALLS.calculateAt(I,B),tr&-8)return-28;var ir=FS.lookupPath(B,{follow:!0}),lr=ir.node;if(!lr)return-44;var dr="";return tr&4&&(dr+="r"),tr&2&&(dr+="w"),tr&1&&(dr+="x"),dr&&FS.nodePermissions(lr,dr)?-2:0}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(I,B,tr,rr)=>0;___syscall_fadvise64.sig="iijji";var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=I=>I<INT53_MIN||I>INT53_MAX?NaN:Number(I);function ___syscall_fallocate(I,B,tr,rr){tr=bigintToI53Checked(tr),rr=bigintToI53Checked(rr);try{if(isNaN(tr))return 61;var ir=SYSCALLS.getStreamFromFD(I);return FS.allocate(ir,tr,rr),0}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return-lr.errno}}___syscall_fallocate.sig="iiijj";var syscallGetVarargI=()=>{var I=HEAP32[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,I},syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(I,B,tr){SYSCALLS.varargs=tr;try{var rr=SYSCALLS.getStreamFromFD(I);switch(B){case 0:{var ir=syscallGetVarargI();if(ir<0)return-28;for(;FS.streams[ir];)ir++;var lr;return lr=FS.dupStream(rr,ir),lr.fd}case 1:case 2:return 0;case 3:return rr.flags;case 4:{var ir=syscallGetVarargI();return rr.flags|=ir,0}case 12:{var ir=syscallGetVarargP(),dr=0;return HEAP16[ir+dr>>1]=2,0}case 13:case 14:return 0}return-28}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(I){try{var B=SYSCALLS.getStreamFromFD(I);return 0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(I,B){try{var tr=SYSCALLS.getStreamFromFD(I);return SYSCALLS.doStat(FS.stat,tr.path,B)}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_fstat64.sig="iip";function ___syscall_ftruncate64(I,B){B=bigintToI53Checked(B);try{return isNaN(B)?61:(FS.ftruncate(I,B),0)}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_ftruncate64.sig="iij";var stringToUTF8=(I,B,tr)=>stringToUTF8Array(I,HEAPU8,B,tr);function ___syscall_getcwd(I,B){try{if(B===0)return-28;var tr=FS.cwd(),rr=lengthBytesUTF8(tr)+1;return B<rr?-68:(stringToUTF8(tr,I,B),rr)}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return-ir.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(I,B,tr){try{var rr=SYSCALLS.getStreamFromFD(I);rr.getdents||(rr.getdents=FS.readdir(rr.path));for(var ir=280,lr=0,dr=FS.llseek(rr,0,1),mr=Math.floor(dr/ir),_r=Math.min(rr.getdents.length,mr+Math.floor(tr/ir)),hr=mr;hr<_r;hr++){var fr,gr,xr=rr.getdents[hr];if(xr===".")fr=rr.node.id,gr=4;else if(xr===".."){var wr=FS.lookupPath(rr.path,{parent:!0});fr=wr.node.id,gr=4}else{var Sr;try{Sr=FS.lookupNode(rr.node,xr)}catch(vr){if(vr?.errno===28)continue;throw vr}fr=Sr.id,gr=FS.isChrdev(Sr.mode)?2:FS.isDir(Sr.mode)?4:FS.isLink(Sr.mode)?10:8}HEAP64[B+lr>>3]=BigInt(fr),HEAP64[B+lr+8>>3]=BigInt((hr+1)*ir),HEAP16[B+lr+16>>1]=280,HEAP8[B+lr+18]=gr,stringToUTF8(xr,B+lr+19,256),lr+=ir}return FS.llseek(rr,hr*ir,0),lr}catch(vr){if(typeof FS>"u"||vr.name!=="ErrnoError")throw vr;return-vr.errno}}___syscall_getdents64.sig="iipp";var writeSockaddr=(I,B,tr,rr,ir)=>{switch(B){case 2:tr=inetPton4(tr),zeroMemory(I,16),ir&&(HEAP32[ir>>2]=16),HEAP16[I>>1]=B,HEAP32[I+4>>2]=tr,HEAP16[I+2>>1]=_htons(rr);break;case 10:tr=inetPton6(tr),zeroMemory(I,28),ir&&(HEAP32[ir>>2]=28),HEAP32[I>>2]=B,HEAP32[I+8>>2]=tr[0],HEAP32[I+12>>2]=tr[1],HEAP32[I+16>>2]=tr[2],HEAP32[I+20>>2]=tr[3],HEAP16[I+2>>1]=_htons(rr);break;default:return 5}return 0};function ___syscall_getsockname(I,B,tr,rr,ir,lr){try{var dr=getSocketFromFD(I),mr=writeSockaddr(B,dr.family,DNS.lookup_name(dr.saddr||"0.0.0.0"),dr.sport,tr);return 0}catch(_r){if(typeof FS>"u"||_r.name!=="ErrnoError")throw _r;return-_r.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(I,B,tr,rr,ir,lr){try{var dr=getSocketFromFD(I);return B===1&&tr===4?(HEAP32[rr>>2]=dr.error,HEAP32[ir>>2]=4,dr.error=null,0):-50}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(I,B,tr){SYSCALLS.varargs=tr;try{var rr=SYSCALLS.getStreamFromFD(I);switch(B){case 21509:return rr.tty?0:-59;case 21505:{if(!rr.tty)return-59;if(rr.tty.ops.ioctl_tcgets){var ir=rr.tty.ops.ioctl_tcgets(rr),lr=syscallGetVarargP();HEAP32[lr>>2]=ir.c_iflag||0,HEAP32[lr+4>>2]=ir.c_oflag||0,HEAP32[lr+8>>2]=ir.c_cflag||0,HEAP32[lr+12>>2]=ir.c_lflag||0;for(var dr=0;dr<32;dr++)HEAP8[lr+dr+17]=ir.c_cc[dr]||0;return 0}return 0}case 21510:case 21511:case 21512:return rr.tty?0:-59;case 21506:case 21507:case 21508:{if(!rr.tty)return-59;if(rr.tty.ops.ioctl_tcsets){for(var lr=syscallGetVarargP(),mr=HEAP32[lr>>2],_r=HEAP32[lr+4>>2],hr=HEAP32[lr+8>>2],fr=HEAP32[lr+12>>2],gr=[],dr=0;dr<32;dr++)gr.push(HEAP8[lr+dr+17]);return rr.tty.ops.ioctl_tcsets(rr.tty,B,{c_iflag:mr,c_oflag:_r,c_cflag:hr,c_lflag:fr,c_cc:gr})}return 0}case 21519:{if(!rr.tty)return-59;var lr=syscallGetVarargP();return HEAP32[lr>>2]=0,0}case 21520:return rr.tty?-28:-59;case 21531:{var lr=syscallGetVarargP();return FS.ioctl(rr,B,lr)}case 21523:{if(!rr.tty)return-59;if(rr.tty.ops.ioctl_tiocgwinsz){var xr=rr.tty.ops.ioctl_tiocgwinsz(rr.tty),lr=syscallGetVarargP();HEAP16[lr>>1]=xr[0],HEAP16[lr+2>>1]=xr[1]}return 0}case 21524:return rr.tty?0:-59;case 21515:return rr.tty?0:-59;default:return-28}}catch(wr){if(typeof FS>"u"||wr.name!=="ErrnoError")throw wr;return-wr.errno}}___syscall_ioctl.sig="iiip";function ___syscall_lstat64(I,B){try{return I=SYSCALLS.getStr(I),SYSCALLS.doStat(FS.lstat,I,B)}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(I,B,tr){try{return B=SYSCALLS.getStr(B),B=SYSCALLS.calculateAt(I,B),FS.mkdir(B,tr,0),0}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_newfstatat(I,B,tr,rr){try{B=SYSCALLS.getStr(B);var ir=rr&256,lr=rr&4096;return rr=rr&-6401,B=SYSCALLS.calculateAt(I,B,lr),SYSCALLS.doStat(ir?FS.lstat:FS.stat,B,tr)}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return-dr.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(I,B,tr,rr){SYSCALLS.varargs=rr;try{B=SYSCALLS.getStr(B),B=SYSCALLS.calculateAt(I,B);var ir=rr?syscallGetVarargI():0;return FS.open(B,tr,ir).fd}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return-lr.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(I){return FS.createNode(null,"/",16895,0)},createPipe(){var I={buckets:[],refcnt:2};I.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var B=PIPEFS.nextname(),tr=PIPEFS.nextname(),rr=FS.createNode(PIPEFS.root,B,4096,0),ir=FS.createNode(PIPEFS.root,tr,4096,0);rr.pipe=I,ir.pipe=I;var lr=FS.createStream({path:B,node:rr,flags:0,seekable:!1,stream_ops:PIPEFS.stream_ops});rr.stream=lr;var dr=FS.createStream({path:tr,node:ir,flags:1,seekable:!1,stream_ops:PIPEFS.stream_ops});return ir.stream=dr,{readable_fd:lr.fd,writable_fd:dr.fd}},stream_ops:{poll(I){var B=I.node.pipe;if((I.flags&2097155)===1)return 260;if(B.buckets.length>0)for(var tr=0;tr<B.buckets.length;tr++){var rr=B.buckets[tr];if(rr.offset-rr.roffset>0)return 65}return 0},ioctl(I,B,tr){return 28},fsync(I){return 28},read(I,B,tr,rr,ir){for(var lr=I.node.pipe,dr=0,mr=0;mr<lr.buckets.length;mr++){var _r=lr.buckets[mr];dr+=_r.offset-_r.roffset}var hr=B.subarray(tr,tr+rr);if(rr<=0)return 0;if(dr==0)throw new FS.ErrnoError(6);for(var fr=Math.min(dr,rr),gr=fr,xr=0,mr=0;mr<lr.buckets.length;mr++){var wr=lr.buckets[mr],Sr=wr.offset-wr.roffset;if(fr<=Sr){var vr=wr.buffer.subarray(wr.roffset,wr.offset);fr<Sr?(vr=vr.subarray(0,fr),wr.roffset+=fr):xr++,hr.set(vr);break}else{var vr=wr.buffer.subarray(wr.roffset,wr.offset);hr.set(vr),hr=hr.subarray(vr.byteLength),fr-=vr.byteLength,xr++}}return xr&&xr==lr.buckets.length&&(xr--,lr.buckets[xr].offset=0,lr.buckets[xr].roffset=0),lr.buckets.splice(0,xr),gr},write(I,B,tr,rr,ir){var lr=I.node.pipe,dr=B.subarray(tr,tr+rr),mr=dr.byteLength;if(mr<=0)return 0;var _r=null;lr.buckets.length==0?(_r={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0},lr.buckets.push(_r)):_r=lr.buckets[lr.buckets.length-1],assert(_r.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var hr=PIPEFS.BUCKET_BUFFER_SIZE-_r.offset;if(hr>=mr)return _r.buffer.set(dr,_r.offset),_r.offset+=mr,mr;hr>0&&(_r.buffer.set(dr.subarray(0,hr),_r.offset),_r.offset+=hr,dr=dr.subarray(hr,dr.byteLength));for(var fr=dr.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0,gr=dr.byteLength%PIPEFS.BUCKET_BUFFER_SIZE,xr=0;xr<fr;xr++){var wr={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};lr.buckets.push(wr),wr.buffer.set(dr.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE)),dr=dr.subarray(PIPEFS.BUCKET_BUFFER_SIZE,dr.byteLength)}if(gr>0){var wr={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:dr.byteLength,roffset:0};lr.buckets.push(wr),wr.buffer.set(dr)}return mr},close(I){var B=I.node.pipe;B.refcnt--,B.refcnt===0&&(B.buckets=null)}},nextname(){return PIPEFS.nextname.current||(PIPEFS.nextname.current=0),"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(I){try{if(I==0)throw new FS.ErrnoError(21);var B=PIPEFS.createPipe();return HEAP32[I>>2]=B.readable_fd,HEAP32[I+4>>2]=B.writable_fd,0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(I,B,tr){try{for(var rr=0,ir=0;ir<B;ir++){var lr=I+8*ir,dr=HEAP32[lr>>2],mr=HEAP16[lr+4>>1],_r=32,hr=FS.getStream(dr);hr&&(_r=SYSCALLS.DEFAULT_POLLMASK,hr.stream_ops.poll&&(_r=hr.stream_ops.poll(hr,-1))),_r&=mr|8|16,_r&&rr++,HEAP16[lr+6>>1]=_r}return rr}catch(fr){if(typeof FS>"u"||fr.name!=="ErrnoError")throw fr;return-fr.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(I,B,tr,rr){try{if(B=SYSCALLS.getStr(B),B=SYSCALLS.calculateAt(I,B),rr<=0)return-28;var ir=FS.readlink(B),lr=Math.min(rr,lengthBytesUTF8(ir)),dr=HEAP8[tr+lr];return stringToUTF8(ir,tr,rr+1),HEAP8[tr+lr]=dr,lr}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(I,B,tr,rr,ir,lr){try{var dr=getSocketFromFD(I),mr=dr.sock_ops.recvmsg(dr,tr);if(!mr)return 0;if(ir)var _r=writeSockaddr(ir,dr.family,DNS.lookup_name(mr.addr),mr.port,lr);return HEAPU8.set(mr.buffer,B),mr.buffer.byteLength}catch(hr){if(typeof FS>"u"||hr.name!=="ErrnoError")throw hr;return-hr.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_renameat(I,B,tr,rr){try{return B=SYSCALLS.getStr(B),rr=SYSCALLS.getStr(rr),B=SYSCALLS.calculateAt(I,B),rr=SYSCALLS.calculateAt(tr,rr),FS.rename(B,rr),0}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return-ir.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(I){try{return I=SYSCALLS.getStr(I),FS.rmdir(I),0}catch(B){if(typeof FS>"u"||B.name!=="ErrnoError")throw B;return-B.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendto(I,B,tr,rr,ir,lr){try{var dr=getSocketFromFD(I);if(!ir)return FS.write(dr.stream,HEAP8,B,tr);var mr=getSocketAddress(ir,lr);return dr.sock_ops.sendmsg(dr,HEAP8,B,tr,mr.addr,mr.port)}catch(_r){if(typeof FS>"u"||_r.name!=="ErrnoError")throw _r;return-_r.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(I,B,tr){try{var rr=SOCKFS.createSocket(I,B,tr);return rr.stream.fd}catch(ir){if(typeof FS>"u"||ir.name!=="ErrnoError")throw ir;return-ir.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(I,B){try{return I=SYSCALLS.getStr(I),SYSCALLS.doStat(FS.stat,I,B)}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlinkat(I,B,tr){try{return I=SYSCALLS.getStr(I),tr=SYSCALLS.getStr(tr),tr=SYSCALLS.calculateAt(B,tr),FS.symlink(I,tr),0}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(I,B){B=bigintToI53Checked(B);try{return isNaN(B)?61:(I=SYSCALLS.getStr(I),FS.truncate(I,B),0)}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return-tr.errno}}___syscall_truncate64.sig="ipj";function ___syscall_unlinkat(I,B,tr){try{return B=SYSCALLS.getStr(B),B=SYSCALLS.calculateAt(I,B),tr===0?FS.unlink(B):tr===512?FS.rmdir(B):abort("Invalid flags passed to unlinkat"),0}catch(rr){if(typeof FS>"u"||rr.name!=="ErrnoError")throw rr;return-rr.errno}}___syscall_unlinkat.sig="iipi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=()=>abort("");__abort_js.sig="v";var ENV={},stackAlloc=I=>__emscripten_stack_alloc(I),stringToUTF8OnStack=I=>{var B=lengthBytesUTF8(I)+1,tr=stackAlloc(B);return stringToUTF8(I,tr,B),tr},dlSetError=I=>{var B=stackSave(),tr=stringToUTF8OnStack(I);___dl_seterr(tr,0),stackRestore(B)},dlopenInternal=(I,B)=>{var tr=UTF8ToString(I+36),rr=HEAP32[I+4>>2];tr=PATH.normalize(tr);var ir=!!(rr&256),lr=ir?null:{},dr={global:ir,nodelete:!!(rr&4096),loadAsync:B.loadAsync};try{return loadDynamicLibrary(tr,dr,lr,I)}catch(mr){return dlSetError(`Could not load dynamic lib: ${tr}
|
|
14
|
-
${mr}`),0}},__dlopen_js=I=>dlopenInternal(I,{loadAsync:!1});__dlopen_js.sig="pp";var __dlsym_js=(I,B,tr)=>{B=UTF8ToString(B);var rr,ir,lr=LDSO.loadedLibsByHandle[I];if(!lr.exports.hasOwnProperty(B)||lr.exports[B].stub)return dlSetError(`Tried to lookup unknown symbol "${B}" in dynamic lib: ${lr.name}`),0;if(ir=Object.keys(lr.exports).indexOf(B),rr=lr.exports[B],typeof rr=="function"){var dr=getFunctionAddress(rr);dr?rr=dr:(rr=addFunction(rr,rr.sig),HEAPU32[tr>>2]=ir)}return rr};__dlsym_js.sig="pppp";var __emscripten_memcpy_js=(I,B,tr)=>HEAPU8.copyWithin(I,B,B+tr);__emscripten_memcpy_js.sig="vppp";var runtimeKeepaliveCounter=0,__emscripten_runtime_keepalive_clear=()=>{noExitRuntime=!1,runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_system=I=>{if(ENVIRONMENT_IS_NODE){if(!I)return 1;var B=UTF8ToString(I);if(!B.length)return 0;var tr=require("child_process"),rr=tr.spawnSync(B,[],{shell:!0,stdio:"inherit"}),ir=(dr,mr)=>dr<<8|mr;if(rr.status===null){var lr=dr=>{switch(dr){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return ir(0,lr(rr.signal))}return ir(rr.status,0)}return I?-52:0};__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw 1/0};__emscripten_throw_longjmp.sig="v";function __gmtime_js(I,B){I=bigintToI53Checked(I);var tr=new Date(I*1e3);HEAP32[B>>2]=tr.getUTCSeconds(),HEAP32[B+4>>2]=tr.getUTCMinutes(),HEAP32[B+8>>2]=tr.getUTCHours(),HEAP32[B+12>>2]=tr.getUTCDate(),HEAP32[B+16>>2]=tr.getUTCMonth(),HEAP32[B+20>>2]=tr.getUTCFullYear()-1900,HEAP32[B+24>>2]=tr.getUTCDay();var rr=Date.UTC(tr.getUTCFullYear(),0,1,0,0,0,0),ir=(tr.getTime()-rr)/(1e3*60*60*24)|0;HEAP32[B+28>>2]=ir}__gmtime_js.sig="vjp";var isLeapYear=I=>I%4===0&&(I%100!==0||I%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=I=>{var B=isLeapYear(I.getFullYear()),tr=B?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,rr=tr[I.getMonth()]+I.getDate()-1;return rr};function __localtime_js(I,B){I=bigintToI53Checked(I);var tr=new Date(I*1e3);HEAP32[B>>2]=tr.getSeconds(),HEAP32[B+4>>2]=tr.getMinutes(),HEAP32[B+8>>2]=tr.getHours(),HEAP32[B+12>>2]=tr.getDate(),HEAP32[B+16>>2]=tr.getMonth(),HEAP32[B+20>>2]=tr.getFullYear()-1900,HEAP32[B+24>>2]=tr.getDay();var rr=ydayFromDate(tr)|0;HEAP32[B+28>>2]=rr,HEAP32[B+36>>2]=-(tr.getTimezoneOffset()*60);var ir=new Date(tr.getFullYear(),0,1),lr=new Date(tr.getFullYear(),6,1).getTimezoneOffset(),dr=ir.getTimezoneOffset(),mr=(lr!=dr&&tr.getTimezoneOffset()==Math.min(dr,lr))|0;HEAP32[B+32>>2]=mr}__localtime_js.sig="vjp";function __mmap_js(I,B,tr,rr,ir,lr,dr){ir=bigintToI53Checked(ir);try{if(isNaN(ir))return 61;var mr=SYSCALLS.getStreamFromFD(rr),_r=FS.mmap(mr,I,ir,B,tr),hr=_r.ptr;return HEAP32[lr>>2]=_r.allocated,HEAPU32[dr>>2]=hr,0}catch(fr){if(typeof FS>"u"||fr.name!=="ErrnoError")throw fr;return-fr.errno}}__mmap_js.sig="ipiiijpp";function __munmap_js(I,B,tr,rr,ir,lr){lr=bigintToI53Checked(lr);try{var dr=SYSCALLS.getStreamFromFD(ir);tr&2&&SYSCALLS.doMsync(I,dr,B,rr,lr)}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return-mr.errno}}__munmap_js.sig="ippiiij";var timers={},handleException=I=>{if(I instanceof ExitStatus||I=="unwind")return EXITSTATUS;quit_(1,I)},keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,_proc_exit=I=>{EXITSTATUS=I,keepRuntimeAlive()||(Module.onExit?.(I),ABORT=!0),quit_(I,new ExitStatus(I))};_proc_exit.sig="vi";var exitJS=(I,B)=>{EXITSTATUS=I,_proc_exit(I)},_exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive())try{_exit(EXITSTATUS)}catch(I){handleException(I)}},callUserCallback=I=>{if(!ABORT)try{I(),maybeExit()}catch(B){handleException(B)}},_emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(I,B)=>{if(timers[I]&&(clearTimeout(timers[I].id),delete timers[I]),!B)return 0;var tr=setTimeout(()=>{delete timers[I],callUserCallback(()=>__emscripten_timeout(I,_emscripten_get_now()))},B);return timers[I]={id:tr,timeout_ms:B},0};__setitimer_js.sig="iid";var __tzset_js=(I,B,tr,rr)=>{var ir=new Date().getFullYear(),lr=new Date(ir,0,1),dr=new Date(ir,6,1),mr=lr.getTimezoneOffset(),_r=dr.getTimezoneOffset(),hr=Math.max(mr,_r);HEAPU32[I>>2]=hr*60,HEAP32[B>>2]=+(mr!=_r);var fr=wr=>{var Sr=wr>=0?"-":"+",vr=Math.abs(wr),Ir=String(Math.floor(vr/60)).padStart(2,"0"),Mr=String(vr%60).padStart(2,"0");return`UTC${Sr}${Ir}${Mr}`},gr=fr(mr),xr=fr(_r);_r<mr?(stringToUTF8(gr,tr,17),stringToUTF8(xr,rr,17)):(stringToUTF8(gr,rr,17),stringToUTF8(xr,tr,17))};__tzset_js.sig="vpppp";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";var checkWasiClock=I=>I>=0&&I<=3;function _clock_time_get(I,B,tr){if(!checkWasiClock(I))return 28;var rr;I===0?rr=_emscripten_date_now():rr=_emscripten_get_now();var ir=Math.round(rr*1e3*1e3);return HEAP64[tr>>3]=BigInt(ir),0}_clock_time_get.sig="iijp";var readEmAsmArgsArray=[],readEmAsmArgs=(I,B)=>{readEmAsmArgsArray.length=0;for(var tr;tr=HEAPU8[I++];){var rr=tr!=105;rr&=tr!=112,B+=rr&&B%8?4:0,readEmAsmArgsArray.push(tr==112?HEAPU32[B>>2]:tr==106?HEAP64[B>>3]:tr==105?HEAP32[B>>2]:HEAPF64[B>>3]),B+=rr?8:4}return readEmAsmArgsArray},runEmAsmFunction=(I,B,tr)=>{var rr=readEmAsmArgs(B,tr);return ASM_CONSTS[I](...rr)},_emscripten_asm_const_int=(I,B,tr)=>runEmAsmFunction(I,B,tr);_emscripten_asm_const_int.sig="ippp";var _emscripten_force_exit=I=>{__emscripten_runtime_keepalive_clear(),_exit(I)};_emscripten_force_exit.sig="vi";var getHeapMax=()=>2147483648,growMemory=I=>{var B=wasmMemory.buffer,tr=(I-B.byteLength+65535)/65536|0;try{return wasmMemory.grow(tr),updateMemoryViews(),1}catch{}},_emscripten_resize_heap=I=>{var B=HEAPU8.length;I>>>=0;var tr=getHeapMax();if(I>tr)return!1;for(var rr=1;rr<=4;rr*=2){var ir=B*(1+.2/rr);ir=Math.min(ir,I+100663296);var lr=Math.min(tr,alignMemory(Math.max(I,ir),65536)),dr=growMemory(lr);if(dr)return!0}return!1};_emscripten_resize_heap.sig="ip";var _emscripten_set_main_loop_timing=(I,B)=>{if(MainLoop.timingMode=I,MainLoop.timingValue=B,!MainLoop.func)return 1;if(MainLoop.running||(MainLoop.running=!0),I==0)MainLoop.scheduler=function(){var lr=Math.max(0,MainLoop.tickStartTime+B-_emscripten_get_now())|0;setTimeout(MainLoop.runner,lr)},MainLoop.method="timeout";else if(I==1)MainLoop.scheduler=function(){MainLoop.requestAnimationFrame(MainLoop.runner)},MainLoop.method="rAF";else if(I==2){if(typeof MainLoop.setImmediate>"u")if(typeof setImmediate>"u"){var tr=[],rr="setimmediate",ir=lr=>{(lr.data===rr||lr.data.target===rr)&&(lr.stopPropagation(),tr.shift()())};addEventListener("message",ir,!0),MainLoop.setImmediate=lr=>{tr.push(lr),ENVIRONMENT_IS_WORKER?(Module.setImmediates??(Module.setImmediates=[]),Module.setImmediates.push(lr),postMessage({target:rr})):postMessage(rr,"*")}}else MainLoop.setImmediate=setImmediate;MainLoop.scheduler=function(){MainLoop.setImmediate(MainLoop.runner)},MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var MainLoop={running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null,MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var I=MainLoop.timingMode,B=MainLoop.timingValue,tr=MainLoop.func;MainLoop.func=null,setMainLoop(tr,0,!1,MainLoop.arg,!0),_emscripten_set_main_loop_timing(I,B),MainLoop.scheduler()},updateStatus(){if(Module.setStatus){var I=Module.statusMessage||"Please wait...",B=MainLoop.remainingBlockers??0,tr=MainLoop.expectedBlockers??0;B?B<tr?Module.setStatus("{message} ({expected - remaining}/{expected})"):Module.setStatus(I):Module.setStatus("")}},init(){Module.preMainLoop&&MainLoop.preMainLoop.push(Module.preMainLoop),Module.postMainLoop&&MainLoop.postMainLoop.push(Module.postMainLoop)},runIter(I){if(!ABORT){for(var B of MainLoop.preMainLoop)if(B()===!1)return;callUserCallback(I);for(var tr of MainLoop.postMainLoop)tr()}},nextRAF:0,fakeRequestAnimationFrame(I){var B=Date.now();if(MainLoop.nextRAF===0)MainLoop.nextRAF=B+1e3/60;else for(;B+2>=MainLoop.nextRAF;)MainLoop.nextRAF+=1e3/60;var tr=Math.max(MainLoop.nextRAF-B,0);setTimeout(I,tr)},requestAnimationFrame(I){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(I);return}var B=MainLoop.fakeRequestAnimationFrame;B(I)}},setMainLoop=(I,B,tr,rr,ir)=>{MainLoop.func=I,MainLoop.arg=rr;var lr=MainLoop.currentlyRunningMainloop;function dr(){return lr<MainLoop.currentlyRunningMainloop?(maybeExit(),!1):!0}if(MainLoop.running=!1,MainLoop.runner=function(){if(!ABORT){if(MainLoop.queue.length>0){var mr=MainLoop.queue.shift();if(mr.func(mr.arg),MainLoop.remainingBlockers){var _r=MainLoop.remainingBlockers,hr=_r%1==0?_r-1:Math.floor(_r);mr.counted?MainLoop.remainingBlockers=hr:(hr=hr+.5,MainLoop.remainingBlockers=(8*_r+hr)/9)}if(MainLoop.updateStatus(),!dr())return;setTimeout(MainLoop.runner,0);return}if(dr()){if(MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0,MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else MainLoop.timingMode==0&&(MainLoop.tickStartTime=_emscripten_get_now());MainLoop.runIter(I),dr()&&MainLoop.scheduler()}}},ir||(B&&B>0?_emscripten_set_main_loop_timing(0,1e3/B):_emscripten_set_main_loop_timing(1,1),MainLoop.scheduler()),tr)throw"unwind"},_emscripten_set_main_loop=(I,B,tr)=>{var rr=getWasmTableEntry(I);setMainLoop(rr,B,tr)};_emscripten_set_main_loop.sig="vpii";var getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var I=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",B={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:I,_:getExecutableName()};for(var tr in ENV)ENV[tr]===void 0?delete B[tr]:B[tr]=ENV[tr];var rr=[];for(var tr in B)rr.push(`${tr}=${B[tr]}`);getEnvStrings.strings=rr}return getEnvStrings.strings},stringToAscii=(I,B)=>{for(var tr=0;tr<I.length;++tr)HEAP8[B++]=I.charCodeAt(tr);HEAP8[B]=0},_environ_get=(I,B)=>{var tr=0;return getEnvStrings().forEach((rr,ir)=>{var lr=B+tr;HEAPU32[I+ir*4>>2]=lr,stringToAscii(rr,lr),tr+=rr.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=(I,B)=>{var tr=getEnvStrings();HEAPU32[I>>2]=tr.length;var rr=0;return tr.forEach(ir=>rr+=ir.length+1),HEAPU32[B>>2]=rr,0};_environ_sizes_get.sig="ipp";function _fd_close(I){try{var B=SYSCALLS.getStreamFromFD(I);return FS.close(B),0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return tr.errno}}_fd_close.sig="ii";function _fd_fdstat_get(I,B){try{var tr=0,rr=0,ir=0,lr=SYSCALLS.getStreamFromFD(I),dr=lr.tty?2:FS.isDir(lr.mode)?3:FS.isLink(lr.mode)?7:4;return HEAP8[B]=dr,HEAP16[B+2>>1]=ir,HEAP64[B+8>>3]=BigInt(tr),HEAP64[B+16>>3]=BigInt(rr),0}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return mr.errno}}_fd_fdstat_get.sig="iip";var doReadv=(I,B,tr,rr)=>{for(var ir=0,lr=0;lr<tr;lr++){var dr=HEAPU32[B>>2],mr=HEAPU32[B+4>>2];B+=8;var _r=FS.read(I,HEAP8,dr,mr,rr);if(_r<0)return-1;if(ir+=_r,_r<mr)break;typeof rr<"u"&&(rr+=_r)}return ir};function _fd_pread(I,B,tr,rr,ir){rr=bigintToI53Checked(rr);try{if(isNaN(rr))return 61;var lr=SYSCALLS.getStreamFromFD(I),dr=doReadv(lr,B,tr,rr);return HEAPU32[ir>>2]=dr,0}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return mr.errno}}_fd_pread.sig="iippjp";var doWritev=(I,B,tr,rr)=>{for(var ir=0,lr=0;lr<tr;lr++){var dr=HEAPU32[B>>2],mr=HEAPU32[B+4>>2];B+=8;var _r=FS.write(I,HEAP8,dr,mr,rr);if(_r<0)return-1;if(ir+=_r,_r<mr)break;typeof rr<"u"&&(rr+=_r)}return ir};function _fd_pwrite(I,B,tr,rr,ir){rr=bigintToI53Checked(rr);try{if(isNaN(rr))return 61;var lr=SYSCALLS.getStreamFromFD(I),dr=doWritev(lr,B,tr,rr);return HEAPU32[ir>>2]=dr,0}catch(mr){if(typeof FS>"u"||mr.name!=="ErrnoError")throw mr;return mr.errno}}_fd_pwrite.sig="iippjp";function _fd_read(I,B,tr,rr){try{var ir=SYSCALLS.getStreamFromFD(I),lr=doReadv(ir,B,tr);return HEAPU32[rr>>2]=lr,0}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return dr.errno}}_fd_read.sig="iippp";function _fd_seek(I,B,tr,rr){B=bigintToI53Checked(B);try{if(isNaN(B))return 61;var ir=SYSCALLS.getStreamFromFD(I);return FS.llseek(ir,B,tr),HEAP64[rr>>3]=BigInt(ir.position),ir.getdents&&B===0&&tr===0&&(ir.getdents=null),0}catch(lr){if(typeof FS>"u"||lr.name!=="ErrnoError")throw lr;return lr.errno}}_fd_seek.sig="iijip";function _fd_sync(I){try{var B=SYSCALLS.getStreamFromFD(I);return B.stream_ops?.fsync?B.stream_ops.fsync(B):0}catch(tr){if(typeof FS>"u"||tr.name!=="ErrnoError")throw tr;return tr.errno}}_fd_sync.sig="ii";function _fd_write(I,B,tr,rr){try{var ir=SYSCALLS.getStreamFromFD(I),lr=doWritev(ir,B,tr);return HEAPU32[rr>>2]=lr,0}catch(dr){if(typeof FS>"u"||dr.name!=="ErrnoError")throw dr;return dr.errno}}_fd_write.sig="iippp";var _getaddrinfo=(I,B,tr,rr)=>{var ir=0,lr=0,dr=0,mr=0,_r=0,hr=0,fr;function gr(xr,wr,Sr,vr,Ir,Mr){var yr,br,Cr,Fr;return br=xr===10?28:16,Ir=xr===10?inetNtop6(Ir):inetNtop4(Ir),yr=_malloc(br),Fr=writeSockaddr(yr,xr,Ir,Mr),assert(!Fr),Cr=_malloc(32),HEAP32[Cr+4>>2]=xr,HEAP32[Cr+8>>2]=wr,HEAP32[Cr+12>>2]=Sr,HEAPU32[Cr+24>>2]=vr,HEAPU32[Cr+20>>2]=yr,xr===10?HEAP32[Cr+16>>2]=28:HEAP32[Cr+16>>2]=16,HEAP32[Cr+28>>2]=0,Cr}if(tr&&(dr=HEAP32[tr>>2],mr=HEAP32[tr+4>>2],_r=HEAP32[tr+8>>2],hr=HEAP32[tr+12>>2]),_r&&!hr&&(hr=_r===2?17:6),!_r&&hr&&(_r=hr===17?2:1),hr===0&&(hr=6),_r===0&&(_r=1),!I&&!B)return-2;if(dr&-1088||tr!==0&&HEAP32[tr>>2]&2&&!I)return-1;if(dr&32)return-2;if(_r!==0&&_r!==1&&_r!==2)return-7;if(mr!==0&&mr!==2&&mr!==10)return-6;if(B&&(B=UTF8ToString(B),lr=parseInt(B,10),isNaN(lr)))return dr&1024?-2:-8;if(!I)return mr===0&&(mr=2),dr&1||(mr===2?ir=_htonl(2130706433):ir=[0,0,0,_htonl(1)]),fr=gr(mr,_r,hr,null,ir,lr),HEAPU32[rr>>2]=fr,0;if(I=UTF8ToString(I),ir=inetPton4(I),ir!==null)if(mr===0||mr===2)mr=2;else if(mr===10&&dr&8)ir=[0,0,_htonl(65535),ir],mr=10;else return-2;else if(ir=inetPton6(I),ir!==null)if(mr===0||mr===10)mr=10;else return-2;return ir!=null?(fr=gr(mr,_r,hr,I,ir,lr),HEAPU32[rr>>2]=fr,0):dr&4?-2:(I=DNS.lookup_name(I),ir=inetPton4(I),mr===0?mr=2:mr===10&&(ir=[0,0,_htonl(65535),ir]),fr=gr(mr,_r,hr,null,ir,lr),HEAPU32[rr>>2]=fr,0)};_getaddrinfo.sig="ipppp";var _getnameinfo=(I,B,tr,rr,ir,lr,dr)=>{var mr=readSockaddr(I,B);if(mr.errno)return-6;var _r=mr.port,hr=mr.addr,fr=!1;if(tr&&rr){var gr;if(dr&1||!(gr=DNS.lookup_addr(hr))){if(dr&8)return-2}else hr=gr;var xr=stringToUTF8(hr,tr,rr);xr+1>=rr&&(fr=!0)}if(ir&&lr){_r=""+_r;var xr=stringToUTF8(_r,ir,lr);xr+1>=lr&&(fr=!0)}return fr?-12:0};_getnameinfo.sig="ipipipii";var stringToNewUTF8=I=>{var B=lengthBytesUTF8(I)+1,tr=_malloc(B);return tr&&stringToUTF8(I,tr,B),tr},getCFunc=I=>{var B=Module["_"+I];return B},writeArrayToMemory=(I,B)=>{HEAP8.set(I,B)},ccall=(I,B,tr,rr,ir)=>{var lr={string:Sr=>{var vr=0;return Sr!=null&&Sr!==0&&(vr=stringToUTF8OnStack(Sr)),vr},array:Sr=>{var vr=stackAlloc(Sr.length);return writeArrayToMemory(Sr,vr),vr}};function dr(Sr){return B==="string"?UTF8ToString(Sr):B==="boolean"?!!Sr:Sr}var mr=getCFunc(I),_r=[],hr=0;if(rr)for(var fr=0;fr<rr.length;fr++){var gr=lr[tr[fr]];gr?(hr===0&&(hr=stackSave()),_r[fr]=gr(rr[fr])):_r[fr]=rr[fr]}var xr=mr(..._r);function wr(Sr){return hr!==0&&stackRestore(hr),dr(Sr)}return xr=wr(xr),xr},cwrap=(I,B,tr,rr)=>{var ir=!tr||tr.every(dr=>dr==="number"||dr==="boolean"),lr=B!=="string";return lr&&ir&&!rr?getCFunc(I):(...dr)=>ccall(I,B,tr,dr)},FS_createPath=FS.createPath,FS_unlink=I=>FS.unlink(I),FS_createLazyFile=FS.createLazyFile,FS_createDevice=FS.createDevice,setTempRet0=I=>__emscripten_tempret_set(I),_setTempRet0=setTempRet0;Module._setTempRet0=_setTempRet0;var getTempRet0=I=>__emscripten_tempret_get(),_getTempRet0=getTempRet0;Module._getTempRet0=_getTempRet0,registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_unlink=FS.unlink,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createDevice=FS.createDevice,MEMFS.doesNotExistError=new FS.ErrnoError(44),MEMFS.doesNotExistError.stack="<generic error, no stack>",ENVIRONMENT_IS_NODE&&NODEFS.staticInit(),Module.requestAnimationFrame=MainLoop.requestAnimationFrame,Module.pauseMainLoop=MainLoop.pause,Module.resumeMainLoop=MainLoop.resume,MainLoop.init();var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_js:__dlsym_js,_emscripten_memcpy_js:__emscripten_memcpy_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,clock_time_get:_clock_time_get,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_date_now:_emscripten_date_now,emscripten_force_exit:_emscripten_force_exit,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,emscripten_set_main_loop:_emscripten_set_main_loop,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,getTempRet0:_getTempRet0,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,invoke_di,invoke_i,invoke_id,invoke_ii,invoke_iii,invoke_iiii,invoke_iiiii,invoke_iiiiii,invoke_iiiiiii,invoke_iiiiiiii,invoke_iiiiiiiii,invoke_iiiiiiiiii,invoke_iiiiiiiiiiiiiiiii,invoke_iiiiiji,invoke_iiiij,invoke_iiiijii,invoke_iiij,invoke_iiji,invoke_ij,invoke_ijiiiii,invoke_ijiiiiii,invoke_ji,invoke_jii,invoke_jiiii,invoke_jiiiii,invoke_jiiiiiiii,invoke_v,invoke_vi,invoke_vid,invoke_vii,invoke_viii,invoke_viiii,invoke_viiiii,invoke_viiiiii,invoke_viiiiiii,invoke_viiiiiiii,invoke_viiiiiiiii,invoke_viiiiiiiiiiii,invoke_viiij,invoke_viij,invoke_viiji,invoke_viijii,invoke_viijiiii,invoke_vij,invoke_viji,invoke_vijiji,invoke_vj,invoke_vji,is_web_env,memory:wasmMemory,proc_exit:_proc_exit,setTempRet0:_setTempRet0},wasmExports;createWasm(),Module._ScanKeywordLookup=(I,B)=>(Module._ScanKeywordLookup=wasmExports.ScanKeywordLookup)(I,B),Module._pg_snprintf=(I,B,tr,rr)=>(Module._pg_snprintf=wasmExports.pg_snprintf)(I,B,tr,rr),Module._strlen=I=>(Module._strlen=wasmExports.strlen)(I),Module._memset=(I,B,tr)=>(Module._memset=wasmExports.memset)(I,B,tr),Module._strchr=(I,B)=>(Module._strchr=wasmExports.strchr)(I,B),Module._PQserverVersion=I=>(Module._PQserverVersion=wasmExports.PQserverVersion)(I),Module._strstr=(I,B)=>(Module._strstr=wasmExports.strstr)(I,B),Module._pg_fprintf=(I,B,tr)=>(Module._pg_fprintf=wasmExports.pg_fprintf)(I,B,tr),Module._strspn=(I,B)=>(Module._strspn=wasmExports.strspn)(I,B);var _malloc=Module._malloc=I=>(_malloc=Module._malloc=wasmExports.malloc)(I);Module._pg_strcasecmp=(I,B)=>(Module._pg_strcasecmp=wasmExports.pg_strcasecmp)(I,B),Module._strcmp=(I,B)=>(Module._strcmp=wasmExports.strcmp)(I,B),Module._free=I=>(Module._free=wasmExports.free)(I),Module._pg_tolower=I=>(Module._pg_tolower=wasmExports.pg_tolower)(I),Module._memchr=(I,B,tr)=>(Module._memchr=wasmExports.memchr)(I,B,tr),Module._getenv=I=>(Module._getenv=wasmExports.getenv)(I),Module._fileno=I=>(Module._fileno=wasmExports.fileno)(I),Module._isatty=I=>(Module._isatty=wasmExports.isatty)(I),Module._strdup=I=>(Module._strdup=wasmExports.strdup)(I),Module.___errno_location=()=>(Module.___errno_location=wasmExports.__errno_location)();var _fflush=Module._fflush=I=>(_fflush=Module._fflush=wasmExports.fflush)(I);Module._pg_vsnprintf=(I,B,tr,rr)=>(Module._pg_vsnprintf=wasmExports.pg_vsnprintf)(I,B,tr,rr),Module._pg_malloc_extended=(I,B)=>(Module._pg_malloc_extended=wasmExports.pg_malloc_extended)(I,B),Module._PageInit=(I,B,tr)=>(Module._PageInit=wasmExports.PageInit)(I,B,tr),Module._pg_checksum_page=(I,B)=>(Module._pg_checksum_page=wasmExports.pg_checksum_page)(I,B),Module._errstart=(I,B)=>(Module._errstart=wasmExports.errstart)(I,B),Module._errcode=I=>(Module._errcode=wasmExports.errcode)(I),Module._errmsg=(I,B)=>(Module._errmsg=wasmExports.errmsg)(I,B),Module._errfinish=(I,B,tr)=>(Module._errfinish=wasmExports.errfinish)(I,B,tr),Module._PageAddItemExtended=(I,B,tr,rr,ir)=>(Module._PageAddItemExtended=wasmExports.PageAddItemExtended)(I,B,tr,rr,ir),Module._errstart_cold=(I,B)=>(Module._errstart_cold=wasmExports.errstart_cold)(I,B),Module._puts=I=>(Module._puts=wasmExports.puts)(I),Module._errmsg_internal=(I,B)=>(Module._errmsg_internal=wasmExports.errmsg_internal)(I,B),Module._memmove=(I,B,tr)=>(Module._memmove=wasmExports.memmove)(I,B,tr),Module._memcpy=(I,B,tr)=>(Module._memcpy=wasmExports.memcpy)(I,B,tr),Module._palloc=I=>(Module._palloc=wasmExports.palloc)(I),Module._pfree=I=>(Module._pfree=wasmExports.pfree)(I),Module._PageGetFreeSpace=I=>(Module._PageGetFreeSpace=wasmExports.PageGetFreeSpace)(I),Module._PageGetExactFreeSpace=I=>(Module._PageGetExactFreeSpace=wasmExports.PageGetExactFreeSpace)(I),Module._PageGetHeapFreeSpace=I=>(Module._PageGetHeapFreeSpace=wasmExports.PageGetHeapFreeSpace)(I),Module._PageIndexMultiDelete=(I,B,tr)=>(Module._PageIndexMultiDelete=wasmExports.PageIndexMultiDelete)(I,B,tr),Module._PageIndexTupleOverwrite=(I,B,tr,rr)=>(Module._PageIndexTupleOverwrite=wasmExports.PageIndexTupleOverwrite)(I,B,tr,rr),Module._ItemPointerEquals=(I,B)=>(Module._ItemPointerEquals=wasmExports.ItemPointerEquals)(I,B),Module._ItemPointerCompare=(I,B)=>(Module._ItemPointerCompare=wasmExports.ItemPointerCompare)(I,B),Module._add_size=(I,B)=>(Module._add_size=wasmExports.add_size)(I,B),Module._ShmemInitStruct=(I,B,tr)=>(Module._ShmemInitStruct=wasmExports.ShmemInitStruct)(I,B,tr),Module._s_init_lock_sema=(I,B)=>(Module._s_init_lock_sema=wasmExports.s_init_lock_sema)(I,B),Module._LWLockAcquire=(I,B)=>(Module._LWLockAcquire=wasmExports.LWLockAcquire)(I,B),Module._LWLockRelease=I=>(Module._LWLockRelease=wasmExports.LWLockRelease)(I),Module._on_shmem_exit=(I,B)=>(Module._on_shmem_exit=wasmExports.on_shmem_exit)(I,B),Module._tas_sema=I=>(Module._tas_sema=wasmExports.tas_sema)(I),Module._s_lock=(I,B,tr,rr)=>(Module._s_lock=wasmExports.s_lock)(I,B,tr,rr),Module._s_unlock_sema=I=>(Module._s_unlock_sema=wasmExports.s_unlock_sema)(I),Module._StartTransactionCommand=()=>(Module._StartTransactionCommand=wasmExports.StartTransactionCommand)(),Module._CommitTransactionCommand=()=>(Module._CommitTransactionCommand=wasmExports.CommitTransactionCommand)(),Module._WaitLatch=(I,B,tr,rr)=>(Module._WaitLatch=wasmExports.WaitLatch)(I,B,tr,rr),Module._ResetLatch=I=>(Module._ResetLatch=wasmExports.ResetLatch)(I),Module._ProcessInterrupts=()=>(Module._ProcessInterrupts=wasmExports.ProcessInterrupts)(),Module._MemoryContextAlloc=(I,B)=>(Module._MemoryContextAlloc=wasmExports.MemoryContextAlloc)(I,B),Module._AllocateDir=I=>(Module._AllocateDir=wasmExports.AllocateDir)(I),Module._ReadDir=(I,B)=>(Module._ReadDir=wasmExports.ReadDir)(I,B),Module._strncmp=(I,B,tr)=>(Module._strncmp=wasmExports.strncmp)(I,B,tr),Module._unlink=I=>(Module._unlink=wasmExports.unlink)(I),Module._errcode_for_file_access=()=>(Module._errcode_for_file_access=wasmExports.errcode_for_file_access)(),Module._FreeDir=I=>(Module._FreeDir=wasmExports.FreeDir)(I),Module._pg_prng_uint32=I=>(Module._pg_prng_uint32=wasmExports.pg_prng_uint32)(I),Module._dsm_create=(I,B)=>(Module._dsm_create=wasmExports.dsm_create)(I,B),Module._dsm_attach=I=>(Module._dsm_attach=wasmExports.dsm_attach)(I),Module._dsm_detach=I=>(Module._dsm_detach=wasmExports.dsm_detach)(I),Module._dsm_segment_address=I=>(Module._dsm_segment_address=wasmExports.dsm_segment_address)(I),Module._dsm_segment_handle=I=>(Module._dsm_segment_handle=wasmExports.dsm_segment_handle)(I),Module._MemoryContextAllocZero=(I,B)=>(Module._MemoryContextAllocZero=wasmExports.MemoryContextAllocZero)(I,B),Module._read=(I,B,tr)=>(Module._read=wasmExports.read)(I,B,tr),Module._hash_create=(I,B,tr,rr)=>(Module._hash_create=wasmExports.hash_create)(I,B,tr,rr),Module._hash_destroy=I=>(Module._hash_destroy=wasmExports.hash_destroy)(I),Module._hash_seq_init=(I,B)=>(Module._hash_seq_init=wasmExports.hash_seq_init)(I,B),Module._hash_seq_search=I=>(Module._hash_seq_search=wasmExports.hash_seq_search)(I),Module._hash_search=(I,B,tr,rr)=>(Module._hash_search=wasmExports.hash_search)(I,B,tr,rr),Module._initStringInfo=I=>(Module._initStringInfo=wasmExports.initStringInfo)(I),Module._appendStringInfo=(I,B,tr)=>(Module._appendStringInfo=wasmExports.appendStringInfo)(I,B,tr),Module._GetCurrentTimestamp=()=>(Module._GetCurrentTimestamp=wasmExports.GetCurrentTimestamp)(),Module._pg_usleep=I=>(Module._pg_usleep=wasmExports.pg_usleep)(I),Module._errdetail=(I,B)=>(Module._errdetail=wasmExports.errdetail)(I,B),Module._TransactionIdDidCommit=I=>(Module._TransactionIdDidCommit=wasmExports.TransactionIdDidCommit)(I),Module._TransactionIdPrecedes=(I,B)=>(Module._TransactionIdPrecedes=wasmExports.TransactionIdPrecedes)(I,B),Module._XLogBeginInsert=()=>(Module._XLogBeginInsert=wasmExports.XLogBeginInsert)(),Module._XLogRegisterData=(I,B)=>(Module._XLogRegisterData=wasmExports.XLogRegisterData)(I,B),Module._XLogInsert=(I,B)=>(Module._XLogInsert=wasmExports.XLogInsert)(I,B),Module._ConditionVariableInit=I=>(Module._ConditionVariableInit=wasmExports.ConditionVariableInit)(I),Module._ConditionVariableCancelSleep=()=>(Module._ConditionVariableCancelSleep=wasmExports.ConditionVariableCancelSleep)(),Module._ConditionVariableSleep=(I,B)=>(Module._ConditionVariableSleep=wasmExports.ConditionVariableSleep)(I,B),Module.___wasm_setjmp=(I,B,tr)=>(Module.___wasm_setjmp=wasmExports.__wasm_setjmp)(I,B,tr),Module.___wasm_setjmp_test=(I,B)=>(Module.___wasm_setjmp_test=wasmExports.__wasm_setjmp_test)(I,B),Module._pg_re_throw=()=>(Module._pg_re_throw=wasmExports.pg_re_throw)(),Module._emscripten_longjmp=(I,B)=>(Module._emscripten_longjmp=wasmExports.emscripten_longjmp)(I,B),Module._procsignal_sigusr1_handler=I=>(Module._procsignal_sigusr1_handler=wasmExports.procsignal_sigusr1_handler)(I),Module._close=I=>(Module._close=wasmExports.close)(I),Module._ReleaseExternalFD=()=>(Module._ReleaseExternalFD=wasmExports.ReleaseExternalFD)(),Module._fcntl=(I,B,tr)=>(Module._fcntl=wasmExports.fcntl)(I,B,tr),Module._pqsignal=(I,B)=>(Module._pqsignal=wasmExports.pqsignal)(I,B),Module._write=(I,B,tr)=>(Module._write=wasmExports.write)(I,B,tr),Module._AddWaitEventToSet=(I,B,tr,rr,ir)=>(Module._AddWaitEventToSet=wasmExports.AddWaitEventToSet)(I,B,tr,rr,ir),Module._clock_gettime=(I,B)=>(Module._clock_gettime=wasmExports.clock_gettime)(I,B),Module._poll=(I,B,tr)=>(Module._poll=wasmExports.poll)(I,B,tr),Module._WaitLatchOrSocket=(I,B,tr,rr,ir)=>(Module._WaitLatchOrSocket=wasmExports.WaitLatchOrSocket)(I,B,tr,rr,ir),Module._GetNumRegisteredWaitEvents=I=>(Module._GetNumRegisteredWaitEvents=wasmExports.GetNumRegisteredWaitEvents)(I),Module._ShmemInitHash=(I,B,tr,rr,ir)=>(Module._ShmemInitHash=wasmExports.ShmemInitHash)(I,B,tr,rr,ir),Module._InitMaterializedSRF=(I,B)=>(Module._InitMaterializedSRF=wasmExports.InitMaterializedSRF)(I,B),Module._cstring_to_text=I=>(Module._cstring_to_text=wasmExports.cstring_to_text)(I),Module._Int64GetDatum=I=>(Module._Int64GetDatum=wasmExports.Int64GetDatum)(I),Module._tuplestore_putvalues=(I,B,tr,rr)=>(Module._tuplestore_putvalues=wasmExports.tuplestore_putvalues)(I,B,tr,rr),Module._shm_toc_allocate=(I,B)=>(Module._shm_toc_allocate=wasmExports.shm_toc_allocate)(I,B),Module._shm_toc_insert=(I,B,tr)=>(Module._shm_toc_insert=wasmExports.shm_toc_insert)(I,B,tr),Module._shm_toc_lookup=(I,B,tr)=>(Module._shm_toc_lookup=wasmExports.shm_toc_lookup)(I,B,tr),Module._superuser_arg=I=>(Module._superuser_arg=wasmExports.superuser_arg)(I),Module._superuser=()=>(Module._superuser=wasmExports.superuser)(),Module._GetUserId=()=>(Module._GetUserId=wasmExports.GetUserId)(),Module._has_privs_of_role=(I,B)=>(Module._has_privs_of_role=wasmExports.has_privs_of_role)(I,B),Module._errmsg_plural=(I,B,tr,rr)=>(Module._errmsg_plural=wasmExports.errmsg_plural)(I,B,tr,rr),Module._errhint=(I,B)=>(Module._errhint=wasmExports.errhint)(I,B),Module._fstat=(I,B)=>(Module._fstat=wasmExports.fstat)(I,B),Module._ftruncate=(I,B)=>(Module._ftruncate=wasmExports.ftruncate)(I,B),Module._RequestAddinShmemSpace=I=>(Module._RequestAddinShmemSpace=wasmExports.RequestAddinShmemSpace)(I),Module._hash_estimate_size=(I,B)=>(Module._hash_estimate_size=wasmExports.hash_estimate_size)(I,B),Module._pg_sprintf=(I,B,tr)=>(Module._pg_sprintf=wasmExports.pg_sprintf)(I,B,tr),Module._SetConfigOption=(I,B,tr,rr)=>(Module._SetConfigOption=wasmExports.SetConfigOption)(I,B,tr,rr),Module._pg_printf=(I,B)=>(Module._pg_printf=wasmExports.pg_printf)(I,B),Module._before_shmem_exit=(I,B)=>(Module._before_shmem_exit=wasmExports.before_shmem_exit)(I,B),Module._cancel_before_shmem_exit=(I,B)=>(Module._cancel_before_shmem_exit=wasmExports.cancel_before_shmem_exit)(I,B),Module._pg_qsort=(I,B,tr,rr)=>(Module._pg_qsort=wasmExports.pg_qsort)(I,B,tr,rr),Module._TransactionIdIsInProgress=I=>(Module._TransactionIdIsInProgress=wasmExports.TransactionIdIsInProgress)(I),Module._TransactionIdIsCurrentTransactionId=I=>(Module._TransactionIdIsCurrentTransactionId=wasmExports.TransactionIdIsCurrentTransactionId)(I),Module._RecoveryInProgress=()=>(Module._RecoveryInProgress=wasmExports.RecoveryInProgress)(),Module._GetOldestNonRemovableTransactionId=I=>(Module._GetOldestNonRemovableTransactionId=wasmExports.GetOldestNonRemovableTransactionId)(I),Module._GetCurrentCommandId=I=>(Module._GetCurrentCommandId=wasmExports.GetCurrentCommandId)(I),Module._BackendXidGetPid=I=>(Module._BackendXidGetPid=wasmExports.BackendXidGetPid)(I),Module._lappend_int=(I,B)=>(Module._lappend_int=wasmExports.lappend_int)(I,B),Module._index_close=(I,B)=>(Module._index_close=wasmExports.index_close)(I,B),Module._table_close=(I,B)=>(Module._table_close=wasmExports.table_close)(I,B),Module._CommandCounterIncrement=()=>(Module._CommandCounterIncrement=wasmExports.CommandCounterIncrement)(),Module._GetActiveSnapshot=()=>(Module._GetActiveSnapshot=wasmExports.GetActiveSnapshot)(),Module._ScanKeyInit=(I,B,tr,rr,ir)=>(Module._ScanKeyInit=wasmExports.ScanKeyInit)(I,B,tr,rr,ir),Module._table_open=(I,B)=>(Module._table_open=wasmExports.table_open)(I,B),Module._systable_beginscan=(I,B,tr,rr,ir,lr)=>(Module._systable_beginscan=wasmExports.systable_beginscan)(I,B,tr,rr,ir,lr),Module._systable_getnext=I=>(Module._systable_getnext=wasmExports.systable_getnext)(I),Module._systable_endscan=I=>(Module._systable_endscan=wasmExports.systable_endscan)(I),Module._index_open=(I,B)=>(Module._index_open=wasmExports.index_open)(I,B),Module._systable_beginscan_ordered=(I,B,tr,rr,ir)=>(Module._systable_beginscan_ordered=wasmExports.systable_beginscan_ordered)(I,B,tr,rr,ir),Module._systable_getnext_ordered=(I,B)=>(Module._systable_getnext_ordered=wasmExports.systable_getnext_ordered)(I,B),Module._systable_endscan_ordered=I=>(Module._systable_endscan_ordered=wasmExports.systable_endscan_ordered)(I),Module._heap_form_tuple=(I,B,tr)=>(Module._heap_form_tuple=wasmExports.heap_form_tuple)(I,B,tr),Module._heap_freetuple=I=>(Module._heap_freetuple=wasmExports.heap_freetuple)(I),Module._AllocSetContextCreateInternal=(I,B,tr,rr,ir)=>(Module._AllocSetContextCreateInternal=wasmExports.AllocSetContextCreateInternal)(I,B,tr,rr,ir),Module._list_free_deep=I=>(Module._list_free_deep=wasmExports.list_free_deep)(I),Module._lappend=(I,B)=>(Module._lappend=wasmExports.lappend)(I,B),Module._LockBuffer=(I,B)=>(Module._LockBuffer=wasmExports.LockBuffer)(I,B),Module._GetFreeIndexPage=I=>(Module._GetFreeIndexPage=wasmExports.GetFreeIndexPage)(I),Module._RecordFreeIndexPage=(I,B)=>(Module._RecordFreeIndexPage=wasmExports.RecordFreeIndexPage)(I,B),Module._IndexFreeSpaceMapVacuum=I=>(Module._IndexFreeSpaceMapVacuum=wasmExports.IndexFreeSpaceMapVacuum)(I),Module._UnlockReleaseBuffer=I=>(Module._UnlockReleaseBuffer=wasmExports.UnlockReleaseBuffer)(I),Module._smgropen=(I,B)=>(Module._smgropen=wasmExports.smgropen)(I,B),Module._smgrsetowner=(I,B)=>(Module._smgrsetowner=wasmExports.smgrsetowner)(I,B),Module._RelationGetNumberOfBlocksInFork=(I,B)=>(Module._RelationGetNumberOfBlocksInFork=wasmExports.RelationGetNumberOfBlocksInFork)(I,B),Module._ReleaseBuffer=I=>(Module._ReleaseBuffer=wasmExports.ReleaseBuffer)(I),Module._GetRecordedFreeSpace=(I,B)=>(Module._GetRecordedFreeSpace=wasmExports.GetRecordedFreeSpace)(I,B),Module._smgrexists=(I,B)=>(Module._smgrexists=wasmExports.smgrexists)(I,B),Module._ReadBufferExtended=(I,B,tr,rr,ir)=>(Module._ReadBufferExtended=wasmExports.ReadBufferExtended)(I,B,tr,rr,ir),Module._MarkBufferDirty=I=>(Module._MarkBufferDirty=wasmExports.MarkBufferDirty)(I),Module._log_newpage_buffer=(I,B)=>(Module._log_newpage_buffer=wasmExports.log_newpage_buffer)(I,B),Module._copy_file=(I,B)=>(Module._copy_file=wasmExports.copy_file)(I,B),Module._fd_fsync_fname=(I,B)=>(Module._fd_fsync_fname=wasmExports.fd_fsync_fname)(I,B),Module._OpenTransientFile=(I,B)=>(Module._OpenTransientFile=wasmExports.OpenTransientFile)(I,B),Module._CloseTransientFile=I=>(Module._CloseTransientFile=wasmExports.CloseTransientFile)(I),Module._hash_bytes=(I,B)=>(Module._hash_bytes=wasmExports.hash_bytes)(I,B),Module._pstrdup=I=>(Module._pstrdup=wasmExports.pstrdup)(I),Module._repalloc=(I,B)=>(Module._repalloc=wasmExports.repalloc)(I,B),Module._wasm_OpenPipeStream=(I,B)=>(Module._wasm_OpenPipeStream=wasmExports.wasm_OpenPipeStream)(I,B),Module._access=(I,B)=>(Module._access=wasmExports.access)(I,B),Module._fopen=(I,B)=>(Module._fopen=wasmExports.fopen)(I,B),Module._fiprintf=(I,B,tr)=>(Module._fiprintf=wasmExports.fiprintf)(I,B,tr),Module._fclose=I=>(Module._fclose=wasmExports.fclose)(I),Module._fsync_fname_ext=(I,B,tr,rr)=>(Module._fsync_fname_ext=wasmExports.fsync_fname_ext)(I,B,tr,rr),Module._fd_durable_rename=(I,B,tr)=>(Module._fd_durable_rename=wasmExports.fd_durable_rename)(I,B,tr),Module._rename=(I,B)=>(Module._rename=wasmExports.rename)(I,B),Module._strlcpy=(I,B,tr)=>(Module._strlcpy=wasmExports.strlcpy)(I,B,tr),Module._dup=I=>(Module._dup=wasmExports.dup)(I),Module._open=(I,B,tr)=>(Module._open=wasmExports.open)(I,B,tr),Module._AcquireExternalFD=()=>(Module._AcquireExternalFD=wasmExports.AcquireExternalFD)(),Module._realloc=(I,B)=>(Module._realloc=wasmExports.realloc)(I,B),Module._stat=(I,B)=>(Module._stat=wasmExports.stat)(I,B),Module._pwrite=(I,B,tr,rr)=>(Module._pwrite=wasmExports.pwrite)(I,B,tr,rr),Module._lseek=(I,B,tr)=>(Module._lseek=wasmExports.lseek)(I,B,tr),Module._AllocateFile=(I,B)=>(Module._AllocateFile=wasmExports.AllocateFile)(I,B),Module._GetCurrentSubTransactionId=()=>(Module._GetCurrentSubTransactionId=wasmExports.GetCurrentSubTransactionId)(),Module._FreeFile=I=>(Module._FreeFile=wasmExports.FreeFile)(I),Module._pclose=I=>(Module._pclose=wasmExports.pclose)(I),Module._ClosePipeStream=I=>(Module._ClosePipeStream=wasmExports.ClosePipeStream)(I),Module._pg_prng_uint64_range=(I,B,tr)=>(Module._pg_prng_uint64_range=wasmExports.pg_prng_uint64_range)(I,B,tr),Module._AtEOSubXact_Files=(I,B,tr)=>(Module._AtEOSubXact_Files=wasmExports.AtEOSubXact_Files)(I,B,tr),Module._pre_format_elog_string=(I,B)=>(Module._pre_format_elog_string=wasmExports.pre_format_elog_string)(I,B),Module._format_elog_string=(I,B)=>(Module._format_elog_string=wasmExports.format_elog_string)(I,B),Module._list_free=I=>(Module._list_free=wasmExports.list_free)(I),Module._guc_malloc=(I,B)=>(Module._guc_malloc=wasmExports.guc_malloc)(I,B),Module._MemoryContextDelete=I=>(Module._MemoryContextDelete=wasmExports.MemoryContextDelete)(I),Module._strtoul=(I,B,tr)=>(Module._strtoul=wasmExports.strtoul)(I,B,tr),Module._hash_get_num_entries=I=>(Module._hash_get_num_entries=wasmExports.hash_get_num_entries)(I),Module._LWLockInitialize=(I,B)=>(Module._LWLockInitialize=wasmExports.LWLockInitialize)(I,B),Module._PrefetchBuffer=(I,B,tr,rr)=>(Module._PrefetchBuffer=wasmExports.PrefetchBuffer)(I,B,tr,rr),Module._LockBufHdr=I=>(Module._LockBufHdr=wasmExports.LockBufHdr)(I),Module._ReadBuffer=(I,B)=>(Module._ReadBuffer=wasmExports.ReadBuffer)(I,B),Module._pgstat_assoc_relation=I=>(Module._pgstat_assoc_relation=wasmExports.pgstat_assoc_relation)(I),Module._ExtendBufferedRel=(I,B,tr,rr)=>(Module._ExtendBufferedRel=wasmExports.ExtendBufferedRel)(I,B,tr,rr),Module._LockBufferForCleanup=I=>(Module._LockBufferForCleanup=wasmExports.LockBufferForCleanup)(I),Module._smgrread=(I,B,tr,rr)=>(Module._smgrread=wasmExports.smgrread)(I,B,tr,rr),Module._LockRelationForExtension=(I,B)=>(Module._LockRelationForExtension=wasmExports.LockRelationForExtension)(I,B),Module._UnlockRelationForExtension=(I,B)=>(Module._UnlockRelationForExtension=wasmExports.UnlockRelationForExtension)(I,B),Module._BufferGetBlockNumber=I=>(Module._BufferGetBlockNumber=wasmExports.BufferGetBlockNumber)(I),Module._bsearch=(I,B,tr,rr,ir)=>(Module._bsearch=wasmExports.bsearch)(I,B,tr,rr,ir),Module._set_errcontext_domain=I=>(Module._set_errcontext_domain=wasmExports.set_errcontext_domain)(I),Module._errcontext_msg=(I,B)=>(Module._errcontext_msg=wasmExports.errcontext_msg)(I,B),Module._GetAccessStrategy=I=>(Module._GetAccessStrategy=wasmExports.GetAccessStrategy)(I),Module._FreeAccessStrategy=I=>(Module._FreeAccessStrategy=wasmExports.FreeAccessStrategy)(I),Module._ConditionalLockBuffer=I=>(Module._ConditionalLockBuffer=wasmExports.ConditionalLockBuffer)(I),Module._TestForOldSnapshot_impl=(I,B)=>(Module._TestForOldSnapshot_impl=wasmExports.TestForOldSnapshot_impl)(I,B);var _calloc=Module._calloc=(I,B)=>(_calloc=Module._calloc=wasmExports.calloc)(I,B);Module._have_free_buffer=()=>(Module._have_free_buffer=wasmExports.have_free_buffer)(),Module._palloc0=I=>(Module._palloc0=wasmExports.palloc0)(I),Module._resetStringInfo=I=>(Module._resetStringInfo=wasmExports.resetStringInfo)(I),Module._appendStringInfoChar=(I,B)=>(Module._appendStringInfoChar=wasmExports.appendStringInfoChar)(I,B),Module._appendBinaryStringInfo=(I,B,tr)=>(Module._appendBinaryStringInfo=wasmExports.appendBinaryStringInfo)(I,B,tr),Module._errdetail_internal=(I,B)=>(Module._errdetail_internal=wasmExports.errdetail_internal)(I,B),Module._strcpy=(I,B)=>(Module._strcpy=wasmExports.strcpy)(I,B),Module._LWLockRegisterTranche=(I,B)=>(Module._LWLockRegisterTranche=wasmExports.LWLockRegisterTranche)(I,B),Module._GetNamedLWLockTranche=I=>(Module._GetNamedLWLockTranche=wasmExports.GetNamedLWLockTranche)(I),Module._LWLockNewTrancheId=()=>(Module._LWLockNewTrancheId=wasmExports.LWLockNewTrancheId)(),Module._RequestNamedLWLockTranche=(I,B)=>(Module._RequestNamedLWLockTranche=wasmExports.RequestNamedLWLockTranche)(I,B),Module._pg_prng_double=I=>(Module._pg_prng_double=wasmExports.pg_prng_double)(I),Module._getpid=()=>(Module._getpid=wasmExports.getpid)(),Module._GetTransactionSnapshot=()=>(Module._GetTransactionSnapshot=wasmExports.GetTransactionSnapshot)(),Module._ConditionVariableSignal=I=>(Module._ConditionVariableSignal=wasmExports.ConditionVariableSignal)(I),Module._LockPage=(I,B,tr)=>(Module._LockPage=wasmExports.LockPage)(I,B,tr),Module._UnlockPage=(I,B,tr)=>(Module._UnlockPage=wasmExports.UnlockPage)(I,B,tr),Module._pgstat_progress_update_param=(I,B)=>(Module._pgstat_progress_update_param=wasmExports.pgstat_progress_update_param)(I,B),Module._list_make1_impl=(I,B)=>(Module._list_make1_impl=wasmExports.list_make1_impl)(I,B),Module._psprintf=(I,B)=>(Module._psprintf=wasmExports.psprintf)(I,B),Module._smgrtruncate=(I,B,tr,rr)=>(Module._smgrtruncate=wasmExports.smgrtruncate)(I,B,tr,rr),Module._log=I=>(Module._log=wasmExports.log)(I),Module._pairingheap_allocate=(I,B)=>(Module._pairingheap_allocate=wasmExports.pairingheap_allocate)(I,B),Module._pairingheap_add=(I,B)=>(Module._pairingheap_add=wasmExports.pairingheap_add)(I,B),Module._pairingheap_first=I=>(Module._pairingheap_first=wasmExports.pairingheap_first)(I),Module._pairingheap_remove_first=I=>(Module._pairingheap_remove_first=wasmExports.pairingheap_remove_first)(I),Module._bloom_create=(I,B,tr)=>(Module._bloom_create=wasmExports.bloom_create)(I,B,tr),Module._bloom_free=I=>(Module._bloom_free=wasmExports.bloom_free)(I),Module._bloom_add_element=(I,B,tr)=>(Module._bloom_add_element=wasmExports.bloom_add_element)(I,B,tr),Module._hash_bytes_extended=(I,B,tr)=>(Module._hash_bytes_extended=wasmExports.hash_bytes_extended)(I,B,tr),Module._bloom_lacks_element=(I,B,tr)=>(Module._bloom_lacks_element=wasmExports.bloom_lacks_element)(I,B,tr),Module._bloom_prop_bits_set=I=>(Module._bloom_prop_bits_set=wasmExports.bloom_prop_bits_set)(I),Module._pg_popcount=(I,B)=>(Module._pg_popcount=wasmExports.pg_popcount)(I,B),Module._memcmp=(I,B,tr)=>(Module._memcmp=wasmExports.memcmp)(I,B,tr),Module._bms_make_singleton=I=>(Module._bms_make_singleton=wasmExports.bms_make_singleton)(I),Module._bms_add_members=(I,B)=>(Module._bms_add_members=wasmExports.bms_add_members)(I,B),Module._bms_add_member=(I,B)=>(Module._bms_add_member=wasmExports.bms_add_member)(I,B),Module._bms_del_member=(I,B)=>(Module._bms_del_member=wasmExports.bms_del_member)(I,B),Module._check_stack_depth=()=>(Module._check_stack_depth=wasmExports.check_stack_depth)(),Module._parser_errposition=(I,B)=>(Module._parser_errposition=wasmExports.parser_errposition)(I,B),Module._makeVar=(I,B,tr,rr,ir,lr)=>(Module._makeVar=wasmExports.makeVar)(I,B,tr,rr,ir,lr),Module._bms_union=(I,B)=>(Module._bms_union=wasmExports.bms_union)(I,B),Module._varstr_levenshtein_less_equal=(I,B,tr,rr,ir,lr,dr,mr,_r)=>(Module._varstr_levenshtein_less_equal=wasmExports.varstr_levenshtein_less_equal)(I,B,tr,rr,ir,lr,dr,mr,_r),Module._SearchSysCacheExists=(I,B,tr,rr,ir)=>(Module._SearchSysCacheExists=wasmExports.SearchSysCacheExists)(I,B,tr,rr,ir),Module._MemoryContextAllocZeroAligned=(I,B)=>(Module._MemoryContextAllocZeroAligned=wasmExports.MemoryContextAllocZeroAligned)(I,B),Module._makeString=I=>(Module._makeString=wasmExports.makeString)(I),Module._addRTEPermissionInfo=(I,B)=>(Module._addRTEPermissionInfo=wasmExports.addRTEPermissionInfo)(I,B),Module._copyObjectImpl=I=>(Module._copyObjectImpl=wasmExports.copyObjectImpl)(I),Module._exprType=I=>(Module._exprType=wasmExports.exprType)(I),Module._lappend_oid=(I,B)=>(Module._lappend_oid=wasmExports.lappend_oid)(I,B),Module._exprTypmod=I=>(Module._exprTypmod=wasmExports.exprTypmod)(I),Module._exprLocation=I=>(Module._exprLocation=wasmExports.exprLocation)(I),Module._CreateTemplateTupleDesc=I=>(Module._CreateTemplateTupleDesc=wasmExports.CreateTemplateTupleDesc)(I),Module._TupleDescInitEntry=(I,B,tr,rr,ir,lr)=>(Module._TupleDescInitEntry=wasmExports.TupleDescInitEntry)(I,B,tr,rr,ir,lr),Module._TupleDescInitEntryCollation=(I,B,tr)=>(Module._TupleDescInitEntryCollation=wasmExports.TupleDescInitEntryCollation)(I,B,tr),Module._typenameTypeIdAndMod=(I,B,tr,rr)=>(Module._typenameTypeIdAndMod=wasmExports.typenameTypeIdAndMod)(I,B,tr,rr),Module._format_type_be=I=>(Module._format_type_be=wasmExports.format_type_be)(I),Module._list_concat=(I,B)=>(Module._list_concat=wasmExports.list_concat)(I,B),Module._list_copy=I=>(Module._list_copy=wasmExports.list_copy)(I),Module._relation_open=(I,B)=>(Module._relation_open=wasmExports.relation_open)(I,B),Module._relation_close=(I,B)=>(Module._relation_close=wasmExports.relation_close)(I,B),Module._makeTargetEntry=(I,B,tr,rr)=>(Module._makeTargetEntry=wasmExports.makeTargetEntry)(I,B,tr,rr),Module._get_attname=(I,B,tr)=>(Module._get_attname=wasmExports.get_attname)(I,B,tr),Module._SearchSysCache2=(I,B,tr)=>(Module._SearchSysCache2=wasmExports.SearchSysCache2)(I,B,tr),Module._ReleaseSysCache=I=>(Module._ReleaseSysCache=wasmExports.ReleaseSysCache)(I),Module._RangeVarGetRelidExtended=(I,B,tr,rr,ir)=>(Module._RangeVarGetRelidExtended=wasmExports.RangeVarGetRelidExtended)(I,B,tr,rr,ir),Module._pg_mbstrlen_with_len=(I,B)=>(Module._pg_mbstrlen_with_len=wasmExports.pg_mbstrlen_with_len)(I,B),Module._errposition=I=>(Module._errposition=wasmExports.errposition)(I),Module._numeric_in=I=>(Module._numeric_in=wasmExports.numeric_in)(I),Module._DirectFunctionCall3Coll=(I,B,tr,rr,ir)=>(Module._DirectFunctionCall3Coll=wasmExports.DirectFunctionCall3Coll)(I,B,tr,rr,ir),Module._bit_in=I=>(Module._bit_in=wasmExports.bit_in)(I),Module._NameListToString=I=>(Module._NameListToString=wasmExports.NameListToString)(I),Module._appendStringInfoString=(I,B)=>(Module._appendStringInfoString=wasmExports.appendStringInfoString)(I,B),Module._lookup_type_cache=(I,B)=>(Module._lookup_type_cache=wasmExports.lookup_type_cache)(I,B),Module._CacheRegisterSyscacheCallback=(I,B,tr)=>(Module._CacheRegisterSyscacheCallback=wasmExports.CacheRegisterSyscacheCallback)(I,B,tr),Module._SearchSysCache1=(I,B)=>(Module._SearchSysCache1=wasmExports.SearchSysCache1)(I,B),Module._list_make2_impl=(I,B,tr)=>(Module._list_make2_impl=wasmExports.list_make2_impl)(I,B,tr),Module._get_base_element_type=I=>(Module._get_base_element_type=wasmExports.get_base_element_type)(I),Module._downcase_truncate_identifier=(I,B,tr)=>(Module._downcase_truncate_identifier=wasmExports.downcase_truncate_identifier)(I,B,tr),Module._pg_database_encoding_max_length=()=>(Module._pg_database_encoding_max_length=wasmExports.pg_database_encoding_max_length)(),Module._truncate_identifier=(I,B,tr)=>(Module._truncate_identifier=wasmExports.truncate_identifier)(I,B,tr),Module._scanner_isspace=I=>(Module._scanner_isspace=wasmExports.scanner_isspace)(I),Module._get_typcollation=I=>(Module._get_typcollation=wasmExports.get_typcollation)(I),Module._list_delete_cell=(I,B)=>(Module._list_delete_cell=wasmExports.list_delete_cell)(I,B),Module._makeTypeNameFromNameList=I=>(Module._makeTypeNameFromNameList=wasmExports.makeTypeNameFromNameList)(I),Module._SysCacheGetAttrNotNull=(I,B,tr)=>(Module._SysCacheGetAttrNotNull=wasmExports.SysCacheGetAttrNotNull)(I,B,tr),Module._text_to_cstring=I=>(Module._text_to_cstring=wasmExports.text_to_cstring)(I),Module._stringToNode=I=>(Module._stringToNode=wasmExports.stringToNode)(I),Module._bms_is_member=(I,B)=>(Module._bms_is_member=wasmExports.bms_is_member)(I,B),Module._bms_free=I=>(Module._bms_free=wasmExports.bms_free)(I),Module._core_yylex=(I,B,tr)=>(Module._core_yylex=wasmExports.core_yylex)(I,B,tr),Module._getc=I=>(Module._getc=wasmExports.getc)(I),Module._ferror=I=>(Module._ferror=wasmExports.ferror)(I),Module._fread=(I,B,tr,rr)=>(Module._fread=wasmExports.fread)(I,B,tr,rr),Module._clearerr=I=>(Module._clearerr=wasmExports.clearerr)(I),Module._scanner_init=(I,B,tr,rr)=>(Module._scanner_init=wasmExports.scanner_init)(I,B,tr,rr),Module._scanner_finish=I=>(Module._scanner_finish=wasmExports.scanner_finish)(I),Module._get_namespace_name=I=>(Module._get_namespace_name=wasmExports.get_namespace_name)(I),Module._lookup_rowtype_tupdesc=(I,B)=>(Module._lookup_rowtype_tupdesc=wasmExports.lookup_rowtype_tupdesc)(I,B),Module._DecrTupleDescRefCount=I=>(Module._DecrTupleDescRefCount=wasmExports.DecrTupleDescRefCount)(I),Module._relation_openrv=(I,B)=>(Module._relation_openrv=wasmExports.relation_openrv)(I,B),Module._errdetail_relkind_not_supported=I=>(Module._errdetail_relkind_not_supported=wasmExports.errdetail_relkind_not_supported)(I),Module._object_aclcheck=(I,B,tr,rr)=>(Module._object_aclcheck=wasmExports.object_aclcheck)(I,B,tr,rr),Module._aclcheck_error=(I,B,tr)=>(Module._aclcheck_error=wasmExports.aclcheck_error)(I,B,tr),Module._pg_class_aclcheck=(I,B,tr)=>(Module._pg_class_aclcheck=wasmExports.pg_class_aclcheck)(I,B,tr),Module._get_relkind_objtype=I=>(Module._get_relkind_objtype=wasmExports.get_relkind_objtype)(I),Module._list_make3_impl=(I,B,tr,rr)=>(Module._list_make3_impl=wasmExports.list_make3_impl)(I,B,tr,rr),Module._quote_qualified_identifier=(I,B)=>(Module._quote_qualified_identifier=wasmExports.quote_qualified_identifier)(I,B),Module._table_openrv=(I,B)=>(Module._table_openrv=wasmExports.table_openrv)(I,B),Module._equal=(I,B)=>(Module._equal=wasmExports.equal)(I,B),Module._RelationGetIndexList=I=>(Module._RelationGetIndexList=wasmExports.RelationGetIndexList)(I),Module._pg_detoast_datum=I=>(Module._pg_detoast_datum=wasmExports.pg_detoast_datum)(I),Module._SysCacheGetAttr=(I,B,tr,rr)=>(Module._SysCacheGetAttr=wasmExports.SysCacheGetAttr)(I,B,tr,rr),Module._deconstruct_array_builtin=(I,B,tr,rr,ir)=>(Module._deconstruct_array_builtin=wasmExports.deconstruct_array_builtin)(I,B,tr,rr,ir),Module._untransformRelOptions=I=>(Module._untransformRelOptions=wasmExports.untransformRelOptions)(I),Module._transformExpr=(I,B,tr)=>(Module._transformExpr=wasmExports.transformExpr)(I,B,tr),Module._get_rel_namespace=I=>(Module._get_rel_namespace=wasmExports.get_rel_namespace)(I),Module._get_rel_name=I=>(Module._get_rel_name=wasmExports.get_rel_name)(I),Module._makeRangeVar=(I,B,tr)=>(Module._makeRangeVar=wasmExports.makeRangeVar)(I,B,tr),Module._makeDefElem=(I,B,tr)=>(Module._makeDefElem=wasmExports.makeDefElem)(I,B,tr),Module._makeRangeVarFromNameList=I=>(Module._makeRangeVarFromNameList=wasmExports.makeRangeVarFromNameList)(I),Module._coerce_to_target_type=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._coerce_to_target_type=wasmExports.coerce_to_target_type)(I,B,tr,rr,ir,lr,dr,mr),Module._LookupTypeName=(I,B,tr,rr)=>(Module._LookupTypeName=wasmExports.LookupTypeName)(I,B,tr,rr),Module._GetSysCacheOid=(I,B,tr,rr,ir,lr)=>(Module._GetSysCacheOid=wasmExports.GetSysCacheOid)(I,B,tr,rr,ir,lr),Module._construct_array_builtin=(I,B,tr)=>(Module._construct_array_builtin=wasmExports.construct_array_builtin)(I,B,tr),Module._get_collation_oid=(I,B)=>(Module._get_collation_oid=wasmExports.get_collation_oid)(I,B),Module._typeStringToTypeName=(I,B)=>(Module._typeStringToTypeName=wasmExports.typeStringToTypeName)(I,B),Module._raw_parser=(I,B)=>(Module._raw_parser=wasmExports.raw_parser)(I,B),Module._errsave_start=(I,B)=>(Module._errsave_start=wasmExports.errsave_start)(I,B),Module._errsave_finish=(I,B,tr,rr)=>(Module._errsave_finish=wasmExports.errsave_finish)(I,B,tr,rr),Module._defGetBoolean=I=>(Module._defGetBoolean=wasmExports.defGetBoolean)(I),Module._list_delete_last=I=>(Module._list_delete_last=wasmExports.list_delete_last)(I),Module._format_type_with_typemod=(I,B)=>(Module._format_type_with_typemod=wasmExports.format_type_with_typemod)(I,B),Module._list_member=(I,B)=>(Module._list_member=wasmExports.list_member)(I,B),Module._list_member_int=(I,B)=>(Module._list_member_int=wasmExports.list_member_int)(I,B),Module._list_sort=(I,B)=>(Module._list_sort=wasmExports.list_sort)(I,B),Module._get_element_type=I=>(Module._get_element_type=wasmExports.get_element_type)(I),Module._makeBoolean=I=>(Module._makeBoolean=wasmExports.makeBoolean)(I),Module._makeInteger=I=>(Module._makeInteger=wasmExports.makeInteger)(I),Module._makeTypeName=I=>(Module._makeTypeName=wasmExports.makeTypeName)(I),Module._list_make4_impl=(I,B,tr,rr,ir)=>(Module._list_make4_impl=wasmExports.list_make4_impl)(I,B,tr,rr,ir),Module._isxdigit=I=>(Module._isxdigit=wasmExports.isxdigit)(I),Module._strip_implicit_coercions=I=>(Module._strip_implicit_coercions=wasmExports.strip_implicit_coercions)(I),Module._SearchSysCacheList=(I,B,tr,rr,ir)=>(Module._SearchSysCacheList=wasmExports.SearchSysCacheList)(I,B,tr,rr,ir),Module._ReleaseCatCacheList=I=>(Module._ReleaseCatCacheList=wasmExports.ReleaseCatCacheList)(I),Module._get_sortgroupref_tle=(I,B)=>(Module._get_sortgroupref_tle=wasmExports.get_sortgroupref_tle)(I,B),Module._type_is_rowtype=I=>(Module._type_is_rowtype=wasmExports.type_is_rowtype)(I),Module._bms_next_member=(I,B)=>(Module._bms_next_member=wasmExports.bms_next_member)(I,B),Module._MemoryContextReset=I=>(Module._MemoryContextReset=wasmExports.MemoryContextReset)(I),Module._abort=()=>(Module._abort=wasmExports.abort)(),Module._heap_getnext=(I,B)=>(Module._heap_getnext=wasmExports.heap_getnext)(I,B),Module._OidOutputFunctionCall=(I,B)=>(Module._OidOutputFunctionCall=wasmExports.OidOutputFunctionCall)(I,B),Module._atoi=I=>(Module._atoi=wasmExports.atoi)(I),Module._GetConfigOption=(I,B,tr)=>(Module._GetConfigOption=wasmExports.GetConfigOption)(I,B,tr),Module._pg_strong_random=(I,B)=>(Module._pg_strong_random=wasmExports.pg_strong_random)(I,B),Module._pg_prng_seed_check=I=>(Module._pg_prng_seed_check=wasmExports.pg_prng_seed_check)(I),Module._pg_prng_seed=(I,B)=>(Module._pg_prng_seed=wasmExports.pg_prng_seed)(I,B),Module._fputc=(I,B)=>(Module._fputc=wasmExports.fputc)(I,B),Module._time=I=>(Module._time=wasmExports.time)(I),Module._TimestampDifferenceMilliseconds=(I,B)=>(Module._TimestampDifferenceMilliseconds=wasmExports.TimestampDifferenceMilliseconds)(I,B),Module._ProcessConfigFile=I=>(Module._ProcessConfigFile=wasmExports.ProcessConfigFile)(I),Module._send=(I,B,tr,rr)=>(Module._send=wasmExports.send)(I,B,tr,rr),Module._parse_bool=(I,B)=>(Module._parse_bool=wasmExports.parse_bool)(I,B),Module._enlargeStringInfo=(I,B)=>(Module._enlargeStringInfo=wasmExports.enlargeStringInfo)(I,B),Module._BackgroundWorkerInitializeConnectionByOid=(I,B,tr)=>(Module._BackgroundWorkerInitializeConnectionByOid=wasmExports.BackgroundWorkerInitializeConnectionByOid)(I,B,tr),Module._BackgroundWorkerUnblockSignals=()=>(Module._BackgroundWorkerUnblockSignals=wasmExports.BackgroundWorkerUnblockSignals)(),Module._pg_getnameinfo_all=(I,B,tr,rr,ir,lr,dr)=>(Module._pg_getnameinfo_all=wasmExports.pg_getnameinfo_all)(I,B,tr,rr,ir,lr,dr),Module._gai_strerror=I=>(Module._gai_strerror=wasmExports.gai_strerror)(I),Module._SignalHandlerForConfigReload=I=>(Module._SignalHandlerForConfigReload=wasmExports.SignalHandlerForConfigReload)(I),Module._fwrite=(I,B,tr,rr)=>(Module._fwrite=wasmExports.fwrite)(I,B,tr,rr),Module._SignalHandlerForShutdownRequest=I=>(Module._SignalHandlerForShutdownRequest=wasmExports.SignalHandlerForShutdownRequest)(I),Module._EmitErrorReport=()=>(Module._EmitErrorReport=wasmExports.EmitErrorReport)(),Module._FlushErrorState=()=>(Module._FlushErrorState=wasmExports.FlushErrorState)(),Module._die=I=>(Module._die=wasmExports.die)(I),Module._MultiXactIdPrecedes=(I,B)=>(Module._MultiXactIdPrecedes=wasmExports.MultiXactIdPrecedes)(I,B),Module._CreateTupleDescCopy=I=>(Module._CreateTupleDescCopy=wasmExports.CreateTupleDescCopy)(I),Module._pgstat_report_activity=(I,B)=>(Module._pgstat_report_activity=wasmExports.pgstat_report_activity)(I,B),Module._DirectFunctionCall2Coll=(I,B,tr,rr)=>(Module._DirectFunctionCall2Coll=wasmExports.DirectFunctionCall2Coll)(I,B,tr,rr),Module._RegisterBackgroundWorker=I=>(Module._RegisterBackgroundWorker=wasmExports.RegisterBackgroundWorker)(I),Module._RegisterDynamicBackgroundWorker=(I,B)=>(Module._RegisterDynamicBackgroundWorker=wasmExports.RegisterDynamicBackgroundWorker)(I,B),Module._WaitForBackgroundWorkerStartup=(I,B)=>(Module._WaitForBackgroundWorkerStartup=wasmExports.WaitForBackgroundWorkerStartup)(I,B),Module._WaitForBackgroundWorkerShutdown=I=>(Module._WaitForBackgroundWorkerShutdown=wasmExports.WaitForBackgroundWorkerShutdown)(I),Module._GetXLogReplayRecPtr=I=>(Module._GetXLogReplayRecPtr=wasmExports.GetXLogReplayRecPtr)(I),Module._gettimeofday=(I,B)=>(Module._gettimeofday=wasmExports.gettimeofday)(I,B),Module._sscanf=(I,B,tr)=>(Module._sscanf=wasmExports.sscanf)(I,B,tr),Module._get_call_result_type=(I,B,tr)=>(Module._get_call_result_type=wasmExports.get_call_result_type)(I,B,tr),Module._HeapTupleHeaderGetDatum=I=>(Module._HeapTupleHeaderGetDatum=wasmExports.HeapTupleHeaderGetDatum)(I),Module._wal_segment_close=I=>(Module._wal_segment_close=wasmExports.wal_segment_close)(I),Module._wal_segment_open=(I,B,tr)=>(Module._wal_segment_open=wasmExports.wal_segment_open)(I,B,tr),Module._GetFlushRecPtr=I=>(Module._GetFlushRecPtr=wasmExports.GetFlushRecPtr)(I),Module._XLogReadRecord=(I,B)=>(Module._XLogReadRecord=wasmExports.XLogReadRecord)(I,B),Module._RmgrNotFound=I=>(Module._RmgrNotFound=wasmExports.RmgrNotFound)(I),Module._CacheRegisterRelcacheCallback=(I,B)=>(Module._CacheRegisterRelcacheCallback=wasmExports.CacheRegisterRelcacheCallback)(I,B),Module._free_attrmap=I=>(Module._free_attrmap=wasmExports.free_attrmap)(I),Module._BuildIndexInfo=I=>(Module._BuildIndexInfo=wasmExports.BuildIndexInfo)(I),Module._hash_seq_term=I=>(Module._hash_seq_term=wasmExports.hash_seq_term)(I),Module._PushActiveSnapshot=I=>(Module._PushActiveSnapshot=wasmExports.PushActiveSnapshot)(I),Module._PopActiveSnapshot=()=>(Module._PopActiveSnapshot=wasmExports.PopActiveSnapshot)(),Module._MakePerTupleExprContext=I=>(Module._MakePerTupleExprContext=wasmExports.MakePerTupleExprContext)(I),Module._ExecInitExpr=(I,B)=>(Module._ExecInitExpr=wasmExports.ExecInitExpr)(I,B),Module._FreeExecutorState=I=>(Module._FreeExecutorState=wasmExports.FreeExecutorState)(I),Module._list_member_oid=(I,B)=>(Module._list_member_oid=wasmExports.list_member_oid)(I,B),Module._MemoryContextStrdup=(I,B)=>(Module._MemoryContextStrdup=wasmExports.MemoryContextStrdup)(I,B),Module._pq_getmsgint=(I,B)=>(Module._pq_getmsgint=wasmExports.pq_getmsgint)(I,B),Module._CreateExecutorState=()=>(Module._CreateExecutorState=wasmExports.CreateExecutorState)(),Module._ExecInitRangeTable=(I,B,tr)=>(Module._ExecInitRangeTable=wasmExports.ExecInitRangeTable)(I,B,tr),Module._getTypeInputInfo=(I,B,tr)=>(Module._getTypeInputInfo=wasmExports.getTypeInputInfo)(I,B,tr),Module._ExecStoreVirtualTuple=I=>(Module._ExecStoreVirtualTuple=wasmExports.ExecStoreVirtualTuple)(I),Module._execute_attr_map_slot=(I,B,tr)=>(Module._execute_attr_map_slot=wasmExports.execute_attr_map_slot)(I,B,tr),Module._slot_getsomeattrs_int=(I,B)=>(Module._slot_getsomeattrs_int=wasmExports.slot_getsomeattrs_int)(I,B),Module._GetUserNameFromId=(I,B)=>(Module._GetUserNameFromId=wasmExports.GetUserNameFromId)(I,B),Module._makeStringInfo=()=>(Module._makeStringInfo=wasmExports.makeStringInfo)(),Module._list_member_xid=(I,B)=>(Module._list_member_xid=wasmExports.list_member_xid)(I,B),Module._lappend_xid=(I,B)=>(Module._lappend_xid=wasmExports.lappend_xid)(I,B),Module._tuplestore_end=I=>(Module._tuplestore_end=wasmExports.tuplestore_end)(I),Module._quote_literal_cstr=I=>(Module._quote_literal_cstr=wasmExports.quote_literal_cstr)(I),Module._MakeSingleTupleTableSlot=(I,B)=>(Module._MakeSingleTupleTableSlot=wasmExports.MakeSingleTupleTableSlot)(I,B),Module._ExecDropSingleTupleTableSlot=I=>(Module._ExecDropSingleTupleTableSlot=wasmExports.ExecDropSingleTupleTableSlot)(I),Module._tuplestore_tuple_count=I=>(Module._tuplestore_tuple_count=wasmExports.tuplestore_tuple_count)(I),Module._quote_identifier=I=>(Module._quote_identifier=wasmExports.quote_identifier)(I),Module._BeginCopyFrom=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._BeginCopyFrom=wasmExports.BeginCopyFrom)(I,B,tr,rr,ir,lr,dr,mr),Module._array_contains_nulls=I=>(Module._array_contains_nulls=wasmExports.array_contains_nulls)(I),Module._format_procedure=I=>(Module._format_procedure=wasmExports.format_procedure)(I),Module._pg_detoast_datum_packed=I=>(Module._pg_detoast_datum_packed=wasmExports.pg_detoast_datum_packed)(I),Module._cstring_to_text_with_len=(I,B)=>(Module._cstring_to_text_with_len=wasmExports.cstring_to_text_with_len)(I,B),Module._GenerationContextCreate=(I,B,tr,rr,ir)=>(Module._GenerationContextCreate=wasmExports.GenerationContextCreate)(I,B,tr,rr,ir),Module._BeginInternalSubTransaction=I=>(Module._BeginInternalSubTransaction=wasmExports.BeginInternalSubTransaction)(I),Module._RollbackAndReleaseCurrentSubTransaction=()=>(Module._RollbackAndReleaseCurrentSubTransaction=wasmExports.RollbackAndReleaseCurrentSubTransaction)(),Module._CopyErrorData=()=>(Module._CopyErrorData=wasmExports.CopyErrorData)(),Module._FreeErrorData=I=>(Module._FreeErrorData=wasmExports.FreeErrorData)(I),Module._RelidByRelfilenumber=(I,B)=>(Module._RelidByRelfilenumber=wasmExports.RelidByRelfilenumber)(I,B),Module._RelationIdGetRelation=I=>(Module._RelationIdGetRelation=wasmExports.RelationIdGetRelation)(I),Module._heap_deform_tuple=(I,B,tr,rr)=>(Module._heap_deform_tuple=wasmExports.heap_deform_tuple)(I,B,tr,rr),Module._RelationClose=I=>(Module._RelationClose=wasmExports.RelationClose)(I),Module._nocachegetattr=(I,B,tr)=>(Module._nocachegetattr=wasmExports.nocachegetattr)(I,B,tr),Module._XLogReaderAllocate=(I,B,tr,rr)=>(Module._XLogReaderAllocate=wasmExports.XLogReaderAllocate)(I,B,tr,rr),Module._XLogReaderFree=I=>(Module._XLogReaderFree=wasmExports.XLogReaderFree)(I),Module._OutputPluginPrepareWrite=(I,B)=>(Module._OutputPluginPrepareWrite=wasmExports.OutputPluginPrepareWrite)(I,B),Module._OutputPluginWrite=(I,B)=>(Module._OutputPluginWrite=wasmExports.OutputPluginWrite)(I,B),Module._OutputPluginUpdateProgress=(I,B)=>(Module._OutputPluginUpdateProgress=wasmExports.OutputPluginUpdateProgress)(I,B),Module._replorigin_by_oid=(I,B,tr)=>(Module._replorigin_by_oid=wasmExports.replorigin_by_oid)(I,B,tr),Module._logicalrep_write_begin=(I,B)=>(Module._logicalrep_write_begin=wasmExports.logicalrep_write_begin)(I,B),Module._logicalrep_write_commit=(I,B,tr)=>(Module._logicalrep_write_commit=wasmExports.logicalrep_write_commit)(I,B,tr),Module._logicalrep_write_begin_prepare=(I,B)=>(Module._logicalrep_write_begin_prepare=wasmExports.logicalrep_write_begin_prepare)(I,B),Module._logicalrep_write_prepare=(I,B,tr)=>(Module._logicalrep_write_prepare=wasmExports.logicalrep_write_prepare)(I,B,tr),Module._logicalrep_write_commit_prepared=(I,B,tr)=>(Module._logicalrep_write_commit_prepared=wasmExports.logicalrep_write_commit_prepared)(I,B,tr),Module._logicalrep_write_rollback_prepared=(I,B,tr,rr)=>(Module._logicalrep_write_rollback_prepared=wasmExports.logicalrep_write_rollback_prepared)(I,B,tr,rr),Module._logicalrep_write_stream_prepare=(I,B,tr)=>(Module._logicalrep_write_stream_prepare=wasmExports.logicalrep_write_stream_prepare)(I,B,tr),Module._logicalrep_write_origin=(I,B,tr)=>(Module._logicalrep_write_origin=wasmExports.logicalrep_write_origin)(I,B,tr),Module._logicalrep_write_insert=(I,B,tr,rr,ir,lr)=>(Module._logicalrep_write_insert=wasmExports.logicalrep_write_insert)(I,B,tr,rr,ir,lr),Module._logicalrep_write_update=(I,B,tr,rr,ir,lr,dr)=>(Module._logicalrep_write_update=wasmExports.logicalrep_write_update)(I,B,tr,rr,ir,lr,dr),Module._logicalrep_write_delete=(I,B,tr,rr,ir,lr)=>(Module._logicalrep_write_delete=wasmExports.logicalrep_write_delete)(I,B,tr,rr,ir,lr),Module._logicalrep_write_truncate=(I,B,tr,rr,ir,lr)=>(Module._logicalrep_write_truncate=wasmExports.logicalrep_write_truncate)(I,B,tr,rr,ir,lr),Module._logicalrep_write_message=(I,B,tr,rr,ir,lr,dr)=>(Module._logicalrep_write_message=wasmExports.logicalrep_write_message)(I,B,tr,rr,ir,lr,dr),Module._logicalrep_write_rel=(I,B,tr,rr)=>(Module._logicalrep_write_rel=wasmExports.logicalrep_write_rel)(I,B,tr,rr),Module._logicalrep_write_typ=(I,B,tr)=>(Module._logicalrep_write_typ=wasmExports.logicalrep_write_typ)(I,B,tr),Module._logicalrep_write_stream_start=(I,B,tr)=>(Module._logicalrep_write_stream_start=wasmExports.logicalrep_write_stream_start)(I,B,tr),Module._logicalrep_write_stream_stop=I=>(Module._logicalrep_write_stream_stop=wasmExports.logicalrep_write_stream_stop)(I),Module._logicalrep_write_stream_commit=(I,B,tr)=>(Module._logicalrep_write_stream_commit=wasmExports.logicalrep_write_stream_commit)(I,B,tr),Module._logicalrep_write_stream_abort=(I,B,tr,rr,ir,lr)=>(Module._logicalrep_write_stream_abort=wasmExports.logicalrep_write_stream_abort)(I,B,tr,rr,ir,lr),Module._ProcessWalRcvInterrupts=()=>(Module._ProcessWalRcvInterrupts=wasmExports.ProcessWalRcvInterrupts)(),Module._timestamptz_to_str=I=>(Module._timestamptz_to_str=wasmExports.timestamptz_to_str)(I),Module._GetDatabaseEncodingName=()=>(Module._GetDatabaseEncodingName=wasmExports.GetDatabaseEncodingName)(),Module._PQconnectStartParams=(I,B,tr)=>(Module._PQconnectStartParams=wasmExports.PQconnectStartParams)(I,B,tr),Module._PQstatus=I=>(Module._PQstatus=wasmExports.PQstatus)(I),Module._PQsocket=I=>(Module._PQsocket=wasmExports.PQsocket)(I),Module._PQconnectPoll=I=>(Module._PQconnectPoll=wasmExports.PQconnectPoll)(I),Module._PQconnectionUsedPassword=I=>(Module._PQconnectionUsedPassword=wasmExports.PQconnectionUsedPassword)(I),Module._PQfinish=I=>(Module._PQfinish=wasmExports.PQfinish)(I),Module._PQresultStatus=I=>(Module._PQresultStatus=wasmExports.PQresultStatus)(I),Module._PQclear=I=>(Module._PQclear=wasmExports.PQclear)(I),Module._PQerrorMessage=I=>(Module._PQerrorMessage=wasmExports.PQerrorMessage)(I),Module._pchomp=I=>(Module._pchomp=wasmExports.pchomp)(I),Module._PQnfields=I=>(Module._PQnfields=wasmExports.PQnfields)(I),Module._PQntuples=I=>(Module._PQntuples=wasmExports.PQntuples)(I),Module._PQgetvalue=(I,B,tr)=>(Module._PQgetvalue=wasmExports.PQgetvalue)(I,B,tr),Module._pg_strtoint32=I=>(Module._pg_strtoint32=wasmExports.pg_strtoint32)(I),Module._PQconsumeInput=I=>(Module._PQconsumeInput=wasmExports.PQconsumeInput)(I),Module._pg_lsn_in=I=>(Module._pg_lsn_in=wasmExports.pg_lsn_in)(I),Module._DirectFunctionCall1Coll=(I,B,tr)=>(Module._DirectFunctionCall1Coll=wasmExports.DirectFunctionCall1Coll)(I,B,tr),Module._PQgetisnull=(I,B,tr)=>(Module._PQgetisnull=wasmExports.PQgetisnull)(I,B,tr),Module._tuplestore_begin_heap=(I,B,tr)=>(Module._tuplestore_begin_heap=wasmExports.tuplestore_begin_heap)(I,B,tr),Module._TupleDescGetAttInMetadata=I=>(Module._TupleDescGetAttInMetadata=wasmExports.TupleDescGetAttInMetadata)(I),Module._BuildTupleFromCStrings=(I,B)=>(Module._BuildTupleFromCStrings=wasmExports.BuildTupleFromCStrings)(I,B),Module._tuplestore_puttuple=(I,B)=>(Module._tuplestore_puttuple=wasmExports.tuplestore_puttuple)(I,B),Module._PQresultErrorField=(I,B)=>(Module._PQresultErrorField=wasmExports.PQresultErrorField)(I,B),Module._PQsendQuery=(I,B)=>(Module._PQsendQuery=wasmExports.PQsendQuery)(I,B),Module._PQisBusy=I=>(Module._PQisBusy=wasmExports.PQisBusy)(I),Module._PQgetResult=I=>(Module._PQgetResult=wasmExports.PQgetResult)(I),Module._ResourceOwnerDelete=I=>(Module._ResourceOwnerDelete=wasmExports.ResourceOwnerDelete)(I),Module._CreateDestReceiver=I=>(Module._CreateDestReceiver=wasmExports.CreateDestReceiver)(I),Module._defGetString=I=>(Module._defGetString=wasmExports.defGetString)(I),Module._pg_md5_encrypt=(I,B,tr,rr,ir)=>(Module._pg_md5_encrypt=wasmExports.pg_md5_encrypt)(I,B,tr,rr,ir),Module._plain_crypt_verify=(I,B,tr,rr)=>(Module._plain_crypt_verify=wasmExports.plain_crypt_verify)(I,B,tr,rr),Module._pg_b64_enc_len=I=>(Module._pg_b64_enc_len=wasmExports.pg_b64_enc_len)(I),Module._pg_b64_encode=(I,B,tr,rr)=>(Module._pg_b64_encode=wasmExports.pg_b64_encode)(I,B,tr,rr),Module._pg_b64_dec_len=I=>(Module._pg_b64_dec_len=wasmExports.pg_b64_dec_len)(I),Module._pg_b64_decode=(I,B,tr,rr)=>(Module._pg_b64_decode=wasmExports.pg_b64_decode)(I,B,tr,rr),Module._pg_hmac_create=I=>(Module._pg_hmac_create=wasmExports.pg_hmac_create)(I),Module._pg_hmac_init=(I,B,tr)=>(Module._pg_hmac_init=wasmExports.pg_hmac_init)(I,B,tr),Module._pg_hmac_update=(I,B,tr)=>(Module._pg_hmac_update=wasmExports.pg_hmac_update)(I,B,tr),Module._pg_hmac_final=(I,B,tr)=>(Module._pg_hmac_final=wasmExports.pg_hmac_final)(I,B,tr),Module._pg_hmac_error=I=>(Module._pg_hmac_error=wasmExports.pg_hmac_error)(I),Module._pg_hmac_free=I=>(Module._pg_hmac_free=wasmExports.pg_hmac_free)(I),Module._scram_H=(I,B,tr,rr,ir)=>(Module._scram_H=wasmExports.scram_H)(I,B,tr,rr,ir),Module._pg_saslprep=(I,B)=>(Module._pg_saslprep=wasmExports.pg_saslprep)(I,B),Module._scram_build_secret=(I,B,tr,rr,ir,lr,dr)=>(Module._scram_build_secret=wasmExports.scram_build_secret)(I,B,tr,rr,ir,lr,dr),Module._scram_SaltedPassword=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._scram_SaltedPassword=wasmExports.scram_SaltedPassword)(I,B,tr,rr,ir,lr,dr,mr),Module._scram_ServerKey=(I,B,tr,rr,ir)=>(Module._scram_ServerKey=wasmExports.scram_ServerKey)(I,B,tr,rr,ir),Module._strtol=(I,B,tr)=>(Module._strtol=wasmExports.strtol)(I,B,tr),Module._replace_percent_placeholders=(I,B,tr,rr)=>(Module._replace_percent_placeholders=wasmExports.replace_percent_placeholders)(I,B,tr,rr),Module._fgets=(I,B,tr)=>(Module._fgets=wasmExports.fgets)(I,B,tr),Module._explicit_bzero=(I,B)=>(Module._explicit_bzero=wasmExports.explicit_bzero)(I,B),Module._wait_result_to_str=I=>(Module._wait_result_to_str=wasmExports.wait_result_to_str)(I),Module._pg_strip_crlf=I=>(Module._pg_strip_crlf=wasmExports.pg_strip_crlf)(I),Module._geteuid=()=>(Module._geteuid=wasmExports.geteuid)(),Module._getpeereid=(I,B,tr)=>(Module._getpeereid=wasmExports.getpeereid)(I,B,tr),Module._pg_getaddrinfo_all=(I,B,tr,rr)=>(Module._pg_getaddrinfo_all=wasmExports.pg_getaddrinfo_all)(I,B,tr,rr),Module._socket=(I,B,tr)=>(Module._socket=wasmExports.socket)(I,B,tr),Module._connect=(I,B,tr)=>(Module._connect=wasmExports.connect)(I,B,tr),Module._recv=(I,B,tr,rr)=>(Module._recv=wasmExports.recv)(I,B,tr,rr),Module._pg_freeaddrinfo_all=(I,B)=>(Module._pg_freeaddrinfo_all=wasmExports.pg_freeaddrinfo_all)(I,B),Module._pq_sendtext=(I,B,tr)=>(Module._pq_sendtext=wasmExports.pq_sendtext)(I,B,tr),Module._pq_sendfloat4=(I,B)=>(Module._pq_sendfloat4=wasmExports.pq_sendfloat4)(I,B),Module._pq_sendfloat8=(I,B)=>(Module._pq_sendfloat8=wasmExports.pq_sendfloat8)(I,B),Module._pq_begintypsend=I=>(Module._pq_begintypsend=wasmExports.pq_begintypsend)(I),Module._pq_endtypsend=I=>(Module._pq_endtypsend=wasmExports.pq_endtypsend)(I),Module._pq_getmsgfloat4=I=>(Module._pq_getmsgfloat4=wasmExports.pq_getmsgfloat4)(I),Module._pq_getmsgfloat8=I=>(Module._pq_getmsgfloat8=wasmExports.pq_getmsgfloat8)(I),Module._pq_getmsgtext=(I,B,tr)=>(Module._pq_getmsgtext=wasmExports.pq_getmsgtext)(I,B,tr),Module._feof=I=>(Module._feof=wasmExports.feof)(I),Module._pg_mb2wchar_with_len=(I,B,tr)=>(Module._pg_mb2wchar_with_len=wasmExports.pg_mb2wchar_with_len)(I,B,tr),Module._pg_regcomp=(I,B,tr,rr,ir)=>(Module._pg_regcomp=wasmExports.pg_regcomp)(I,B,tr,rr,ir),Module._pg_regerror=(I,B,tr,rr)=>(Module._pg_regerror=wasmExports.pg_regerror)(I,B,tr,rr),Module._get_role_oid=(I,B)=>(Module._get_role_oid=wasmExports.get_role_oid)(I,B),Module._strcat=(I,B)=>(Module._strcat=wasmExports.strcat)(I,B),Module._sigemptyset=I=>(Module._sigemptyset=wasmExports.sigemptyset)(I),Module._be_lo_unlink=I=>(Module._be_lo_unlink=wasmExports.be_lo_unlink)(I),Module._object_ownercheck=(I,B,tr)=>(Module._object_ownercheck=wasmExports.object_ownercheck)(I,B,tr),Module._text_to_cstring_buffer=(I,B,tr)=>(Module._text_to_cstring_buffer=wasmExports.text_to_cstring_buffer)(I,B,tr),Module._setsockopt=(I,B,tr,rr,ir)=>(Module._setsockopt=wasmExports.setsockopt)(I,B,tr,rr,ir),Module._getsockname=(I,B,tr)=>(Module._getsockname=wasmExports.getsockname)(I,B,tr),Module._pq_recvbuf_fill=(I,B)=>(Module._pq_recvbuf_fill=wasmExports.pq_recvbuf_fill)(I,B),Module._getsockopt=(I,B,tr,rr,ir)=>(Module._getsockopt=wasmExports.getsockopt)(I,B,tr,rr,ir),Module._getmissingattr=(I,B,tr)=>(Module._getmissingattr=wasmExports.getmissingattr)(I,B,tr),Module._get_rel_relkind=I=>(Module._get_rel_relkind=wasmExports.get_rel_relkind)(I),Module._MemoryContextSetIdentifier=(I,B)=>(Module._MemoryContextSetIdentifier=wasmExports.MemoryContextSetIdentifier)(I,B),Module._MemoryContextSetParent=(I,B)=>(Module._MemoryContextSetParent=wasmExports.MemoryContextSetParent)(I,B),Module._find_base_rel=(I,B)=>(Module._find_base_rel=wasmExports.find_base_rel)(I,B),Module._bms_equal=(I,B)=>(Module._bms_equal=wasmExports.bms_equal)(I,B),Module._bms_num_members=I=>(Module._bms_num_members=wasmExports.bms_num_members)(I),Module._fmgr_info_copy=(I,B,tr)=>(Module._fmgr_info_copy=wasmExports.fmgr_info_copy)(I,B,tr),Module._fmgr_info_cxt=(I,B,tr)=>(Module._fmgr_info_cxt=wasmExports.fmgr_info_cxt)(I,B,tr),Module._get_typlenbyvalalign=(I,B,tr,rr)=>(Module._get_typlenbyvalalign=wasmExports.get_typlenbyvalalign)(I,B,tr,rr),Module._deconstruct_array=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._deconstruct_array=wasmExports.deconstruct_array)(I,B,tr,rr,ir,lr,dr,mr),Module._datumCopy=(I,B,tr)=>(Module._datumCopy=wasmExports.datumCopy)(I,B,tr),Module._qsort_arg=(I,B,tr,rr,ir)=>(Module._qsort_arg=wasmExports.qsort_arg)(I,B,tr,rr,ir),Module._FunctionCall2Coll=(I,B,tr,rr)=>(Module._FunctionCall2Coll=wasmExports.FunctionCall2Coll)(I,B,tr,rr),Module._datumIsEqual=(I,B,tr,rr)=>(Module._datumIsEqual=wasmExports.datumIsEqual)(I,B,tr,rr),Module._bms_overlap=(I,B)=>(Module._bms_overlap=wasmExports.bms_overlap)(I,B),Module._ExecPrepareExpr=(I,B)=>(Module._ExecPrepareExpr=wasmExports.ExecPrepareExpr)(I,B),Module._RegisterSnapshot=I=>(Module._RegisterSnapshot=wasmExports.RegisterSnapshot)(I),Module._UnregisterSnapshot=I=>(Module._UnregisterSnapshot=wasmExports.UnregisterSnapshot)(I),Module._get_fn_expr_argtype=(I,B)=>(Module._get_fn_expr_argtype=wasmExports.get_fn_expr_argtype)(I,B),Module._get_opfamily_member=(I,B,tr,rr)=>(Module._get_opfamily_member=wasmExports.get_opfamily_member)(I,B,tr,rr),Module._init_MultiFuncCall=I=>(Module._init_MultiFuncCall=wasmExports.init_MultiFuncCall)(I),Module._per_MultiFuncCall=I=>(Module._per_MultiFuncCall=wasmExports.per_MultiFuncCall)(I),Module._end_MultiFuncCall=(I,B)=>(Module._end_MultiFuncCall=wasmExports.end_MultiFuncCall)(I,B),Module._textToQualifiedNameList=I=>(Module._textToQualifiedNameList=wasmExports.textToQualifiedNameList)(I),Module._FunctionCall1Coll=(I,B,tr)=>(Module._FunctionCall1Coll=wasmExports.FunctionCall1Coll)(I,B,tr),Module._DirectFunctionCall4Coll=(I,B,tr,rr,ir,lr)=>(Module._DirectFunctionCall4Coll=wasmExports.DirectFunctionCall4Coll)(I,B,tr,rr,ir,lr),Module._pg_mblen=I=>(Module._pg_mblen=wasmExports.pg_mblen)(I),Module._tsearch_readline_begin=(I,B)=>(Module._tsearch_readline_begin=wasmExports.tsearch_readline_begin)(I,B),Module._tsearch_readline=I=>(Module._tsearch_readline=wasmExports.tsearch_readline)(I),Module._t_isspace=I=>(Module._t_isspace=wasmExports.t_isspace)(I),Module._lowerstr=I=>(Module._lowerstr=wasmExports.lowerstr)(I),Module._tsearch_readline_end=I=>(Module._tsearch_readline_end=wasmExports.tsearch_readline_end)(I),Module._t_isdigit=I=>(Module._t_isdigit=wasmExports.t_isdigit)(I),Module._pnstrdup=(I,B)=>(Module._pnstrdup=wasmExports.pnstrdup)(I,B),Module._get_tsearch_config_filename=(I,B)=>(Module._get_tsearch_config_filename=wasmExports.get_tsearch_config_filename)(I,B),Module._lookup_ts_dictionary_cache=I=>(Module._lookup_ts_dictionary_cache=wasmExports.lookup_ts_dictionary_cache)(I),Module._FunctionCall4Coll=(I,B,tr,rr,ir,lr)=>(Module._FunctionCall4Coll=wasmExports.FunctionCall4Coll)(I,B,tr,rr,ir,lr),Module._t_isalnum=I=>(Module._t_isalnum=wasmExports.t_isalnum)(I),Module._isalnum=I=>(Module._isalnum=wasmExports.isalnum)(I),Module._pg_any_to_server=(I,B,tr)=>(Module._pg_any_to_server=wasmExports.pg_any_to_server)(I,B,tr),Module._lowerstr_with_len=(I,B)=>(Module._lowerstr_with_len=wasmExports.lowerstr_with_len)(I,B),Module._tolower=I=>(Module._tolower=wasmExports.tolower)(I),Module._readstoplist=(I,B,tr)=>(Module._readstoplist=wasmExports.readstoplist)(I,B,tr),Module._searchstoplist=(I,B)=>(Module._searchstoplist=wasmExports.searchstoplist)(I,B),Module._GetDatabaseEncoding=()=>(Module._GetDatabaseEncoding=wasmExports.GetDatabaseEncoding)(),Module._vacuum_delay_point=()=>(Module._vacuum_delay_point=wasmExports.vacuum_delay_point)(),Module._get_restriction_variable=(I,B,tr,rr,ir,lr)=>(Module._get_restriction_variable=wasmExports.get_restriction_variable)(I,B,tr,rr,ir,lr),Module._get_attstatsslot=(I,B,tr,rr,ir)=>(Module._get_attstatsslot=wasmExports.get_attstatsslot)(I,B,tr,rr,ir),Module._free_attstatsslot=I=>(Module._free_attstatsslot=wasmExports.free_attstatsslot)(I),Module._Float8GetDatum=I=>(Module._Float8GetDatum=wasmExports.Float8GetDatum)(I),Module._ExecReScan=I=>(Module._ExecReScan=wasmExports.ExecReScan)(I),Module._ExecAsyncResponse=I=>(Module._ExecAsyncResponse=wasmExports.ExecAsyncResponse)(I),Module._ExecAsyncRequestDone=(I,B)=>(Module._ExecAsyncRequestDone=wasmExports.ExecAsyncRequestDone)(I,B),Module._ExecAsyncRequestPending=I=>(Module._ExecAsyncRequestPending=wasmExports.ExecAsyncRequestPending)(I),Module._tuplesort_end=I=>(Module._tuplesort_end=wasmExports.tuplesort_end)(I),Module._ExecInitExprList=(I,B)=>(Module._ExecInitExprList=wasmExports.ExecInitExprList)(I,B),Module._fmgr_info=(I,B)=>(Module._fmgr_info=wasmExports.fmgr_info)(I,B),Module._get_typlenbyval=(I,B,tr)=>(Module._get_typlenbyval=wasmExports.get_typlenbyval)(I,B,tr),Module._ExecForceStoreHeapTuple=(I,B,tr)=>(Module._ExecForceStoreHeapTuple=wasmExports.ExecForceStoreHeapTuple)(I,B,tr),Module._tuplesort_performsort=I=>(Module._tuplesort_performsort=wasmExports.tuplesort_performsort)(I),Module._tuplesort_begin_heap=(I,B,tr,rr,ir,lr,dr,mr,_r)=>(Module._tuplesort_begin_heap=wasmExports.tuplesort_begin_heap)(I,B,tr,rr,ir,lr,dr,mr,_r),Module._MemoryContextMemAllocated=(I,B)=>(Module._MemoryContextMemAllocated=wasmExports.MemoryContextMemAllocated)(I,B),Module._tuplesort_gettupleslot=(I,B,tr,rr,ir)=>(Module._tuplesort_gettupleslot=wasmExports.tuplesort_gettupleslot)(I,B,tr,rr,ir),Module._tuplesort_puttupleslot=(I,B)=>(Module._tuplesort_puttupleslot=wasmExports.tuplesort_puttupleslot)(I,B),Module._ExecStoreAllNullTuple=I=>(Module._ExecStoreAllNullTuple=wasmExports.ExecStoreAllNullTuple)(I),Module._MakeExpandedObjectReadOnlyInternal=I=>(Module._MakeExpandedObjectReadOnlyInternal=wasmExports.MakeExpandedObjectReadOnlyInternal)(I),Module._BlessTupleDesc=I=>(Module._BlessTupleDesc=wasmExports.BlessTupleDesc)(I),Module._pg_detoast_datum_copy=I=>(Module._pg_detoast_datum_copy=wasmExports.pg_detoast_datum_copy)(I),Module._construct_md_array=(I,B,tr,rr,ir,lr,dr,mr,_r)=>(Module._construct_md_array=wasmExports.construct_md_array)(I,B,tr,rr,ir,lr,dr,mr,_r),Module._ArrayGetNItems=(I,B)=>(Module._ArrayGetNItems=wasmExports.ArrayGetNItems)(I,B),Module._construct_empty_array=I=>(Module._construct_empty_array=wasmExports.construct_empty_array)(I),Module._DatumGetEOHP=I=>(Module._DatumGetEOHP=wasmExports.DatumGetEOHP)(I),Module._expanded_record_fetch_tupdesc=I=>(Module._expanded_record_fetch_tupdesc=wasmExports.expanded_record_fetch_tupdesc)(I),Module._expanded_record_fetch_field=(I,B,tr)=>(Module._expanded_record_fetch_field=wasmExports.expanded_record_fetch_field)(I,B,tr),Module._execute_attr_map_tuple=(I,B)=>(Module._execute_attr_map_tuple=wasmExports.execute_attr_map_tuple)(I,B),Module._MemoryContextAllocExtended=(I,B,tr)=>(Module._MemoryContextAllocExtended=wasmExports.MemoryContextAllocExtended)(I,B,tr),Module._lookup_rowtype_tupdesc_domain=(I,B,tr)=>(Module._lookup_rowtype_tupdesc_domain=wasmExports.lookup_rowtype_tupdesc_domain)(I,B,tr),Module._MemoryContextGetParent=I=>(Module._MemoryContextGetParent=wasmExports.MemoryContextGetParent)(I),Module._DeleteExpandedObject=I=>(Module._DeleteExpandedObject=wasmExports.DeleteExpandedObject)(I),Module._InstrAlloc=(I,B,tr)=>(Module._InstrAlloc=wasmExports.InstrAlloc)(I,B,tr),Module._ExprEvalPushStep=(I,B)=>(Module._ExprEvalPushStep=wasmExports.ExprEvalPushStep)(I,B),Module._getTypeOutputInfo=(I,B,tr)=>(Module._getTypeOutputInfo=wasmExports.getTypeOutputInfo)(I,B,tr),Module._ExecInitExprWithParams=(I,B)=>(Module._ExecInitExprWithParams=wasmExports.ExecInitExprWithParams)(I,B),Module._ExecOpenScanRelation=(I,B,tr)=>(Module._ExecOpenScanRelation=wasmExports.ExecOpenScanRelation)(I,B,tr),Module._FreeExprContext=(I,B)=>(Module._FreeExprContext=wasmExports.FreeExprContext)(I,B),Module._CreateExprContext=I=>(Module._CreateExprContext=wasmExports.CreateExprContext)(I),Module._ExecGetReturningSlot=(I,B)=>(Module._ExecGetReturningSlot=wasmExports.ExecGetReturningSlot)(I,B),Module._build_attrmap_by_name_if_req=(I,B,tr)=>(Module._build_attrmap_by_name_if_req=wasmExports.build_attrmap_by_name_if_req)(I,B,tr),Module._ExecGetResultRelCheckAsUser=(I,B)=>(Module._ExecGetResultRelCheckAsUser=wasmExports.ExecGetResultRelCheckAsUser)(I,B),Module._InstrEndLoop=I=>(Module._InstrEndLoop=wasmExports.InstrEndLoop)(I),Module._ExecStoreHeapTuple=(I,B,tr)=>(Module._ExecStoreHeapTuple=wasmExports.ExecStoreHeapTuple)(I,B,tr),Module._get_partition_ancestors=I=>(Module._get_partition_ancestors=wasmExports.get_partition_ancestors)(I),Module._pull_varattnos=(I,B,tr)=>(Module._pull_varattnos=wasmExports.pull_varattnos)(I,B,tr),Module._ExecFindJunkAttributeInTlist=(I,B)=>(Module._ExecFindJunkAttributeInTlist=wasmExports.ExecFindJunkAttributeInTlist)(I,B),Module._visibilitymap_get_status=(I,B,tr)=>(Module._visibilitymap_get_status=wasmExports.visibilitymap_get_status)(I,B,tr),Module._index_deform_tuple=(I,B,tr,rr)=>(Module._index_deform_tuple=wasmExports.index_deform_tuple)(I,B,tr,rr),Module._LaunchParallelWorkers=I=>(Module._LaunchParallelWorkers=wasmExports.LaunchParallelWorkers)(I),Module._standard_ExecutorStart=(I,B)=>(Module._standard_ExecutorStart=wasmExports.standard_ExecutorStart)(I,B),Module._GetCommandTagName=I=>(Module._GetCommandTagName=wasmExports.GetCommandTagName)(I),Module._standard_ExecutorRun=(I,B,tr,rr)=>(Module._standard_ExecutorRun=wasmExports.standard_ExecutorRun)(I,B,tr,rr),Module._EnterParallelMode=()=>(Module._EnterParallelMode=wasmExports.EnterParallelMode)(),Module._ExitParallelMode=()=>(Module._ExitParallelMode=wasmExports.ExitParallelMode)(),Module._standard_ExecutorFinish=I=>(Module._standard_ExecutorFinish=wasmExports.standard_ExecutorFinish)(I),Module._standard_ExecutorEnd=I=>(Module._standard_ExecutorEnd=wasmExports.standard_ExecutorEnd)(I),Module._MakeTupleTableSlot=(I,B)=>(Module._MakeTupleTableSlot=wasmExports.MakeTupleTableSlot)(I,B),Module._CreateParallelContext=(I,B,tr)=>(Module._CreateParallelContext=wasmExports.CreateParallelContext)(I,B,tr),Module._InitializeParallelDSM=I=>(Module._InitializeParallelDSM=wasmExports.InitializeParallelDSM)(I),Module._WaitForParallelWorkersToFinish=I=>(Module._WaitForParallelWorkersToFinish=wasmExports.WaitForParallelWorkersToFinish)(I),Module._DestroyParallelContext=I=>(Module._DestroyParallelContext=wasmExports.DestroyParallelContext)(I),Module._SPI_connect=()=>(Module._SPI_connect=wasmExports.SPI_connect)(),Module._SPI_connect_ext=I=>(Module._SPI_connect_ext=wasmExports.SPI_connect_ext)(I),Module._SPI_finish=()=>(Module._SPI_finish=wasmExports.SPI_finish)(),Module._SPI_commit=()=>(Module._SPI_commit=wasmExports.SPI_commit)(),Module._ReThrowError=I=>(Module._ReThrowError=wasmExports.ReThrowError)(I),Module._SPI_commit_and_chain=()=>(Module._SPI_commit_and_chain=wasmExports.SPI_commit_and_chain)(),Module._SPI_rollback=()=>(Module._SPI_rollback=wasmExports.SPI_rollback)(),Module._SPI_rollback_and_chain=()=>(Module._SPI_rollback_and_chain=wasmExports.SPI_rollback_and_chain)(),Module._SPI_execute=(I,B,tr)=>(Module._SPI_execute=wasmExports.SPI_execute)(I,B,tr),Module._EnsurePortalSnapshotExists=()=>(Module._EnsurePortalSnapshotExists=wasmExports.EnsurePortalSnapshotExists)(),Module._SPI_freetuptable=I=>(Module._SPI_freetuptable=wasmExports.SPI_freetuptable)(I),Module._ReleaseCachedPlan=(I,B)=>(Module._ReleaseCachedPlan=wasmExports.ReleaseCachedPlan)(I,B),Module._SPI_exec=(I,B)=>(Module._SPI_exec=wasmExports.SPI_exec)(I,B),Module._SPI_execute_extended=(I,B)=>(Module._SPI_execute_extended=wasmExports.SPI_execute_extended)(I,B),Module._makeParamList=I=>(Module._makeParamList=wasmExports.makeParamList)(I),Module._SPI_execp=(I,B,tr,rr)=>(Module._SPI_execp=wasmExports.SPI_execp)(I,B,tr,rr),Module._SPI_execute_plan_extended=(I,B)=>(Module._SPI_execute_plan_extended=wasmExports.SPI_execute_plan_extended)(I,B),Module._SPI_execute_plan_with_paramlist=(I,B,tr,rr)=>(Module._SPI_execute_plan_with_paramlist=wasmExports.SPI_execute_plan_with_paramlist)(I,B,tr,rr),Module._SPI_prepare=(I,B,tr)=>(Module._SPI_prepare=wasmExports.SPI_prepare)(I,B,tr),Module._SPI_prepare_extended=(I,B)=>(Module._SPI_prepare_extended=wasmExports.SPI_prepare_extended)(I,B),Module._SPI_keepplan=I=>(Module._SPI_keepplan=wasmExports.SPI_keepplan)(I),Module._SPI_freeplan=I=>(Module._SPI_freeplan=wasmExports.SPI_freeplan)(I),Module._SPI_copytuple=I=>(Module._SPI_copytuple=wasmExports.SPI_copytuple)(I),Module._SPI_returntuple=(I,B)=>(Module._SPI_returntuple=wasmExports.SPI_returntuple)(I,B),Module._SPI_fnumber=(I,B)=>(Module._SPI_fnumber=wasmExports.SPI_fnumber)(I,B),Module._SPI_fname=(I,B)=>(Module._SPI_fname=wasmExports.SPI_fname)(I,B),Module._SPI_getvalue=(I,B,tr)=>(Module._SPI_getvalue=wasmExports.SPI_getvalue)(I,B,tr),Module._SPI_getbinval=(I,B,tr,rr)=>(Module._SPI_getbinval=wasmExports.SPI_getbinval)(I,B,tr,rr),Module._SPI_gettype=(I,B)=>(Module._SPI_gettype=wasmExports.SPI_gettype)(I,B),Module._SPI_gettypeid=(I,B)=>(Module._SPI_gettypeid=wasmExports.SPI_gettypeid)(I,B),Module._SPI_getrelname=I=>(Module._SPI_getrelname=wasmExports.SPI_getrelname)(I),Module._SPI_palloc=I=>(Module._SPI_palloc=wasmExports.SPI_palloc)(I),Module._SPI_datumTransfer=(I,B,tr)=>(Module._SPI_datumTransfer=wasmExports.SPI_datumTransfer)(I,B,tr),Module._datumTransfer=(I,B,tr)=>(Module._datumTransfer=wasmExports.datumTransfer)(I,B,tr),Module._SPI_cursor_open_with_paramlist=(I,B,tr,rr)=>(Module._SPI_cursor_open_with_paramlist=wasmExports.SPI_cursor_open_with_paramlist)(I,B,tr,rr),Module._SPI_cursor_parse_open=(I,B,tr)=>(Module._SPI_cursor_parse_open=wasmExports.SPI_cursor_parse_open)(I,B,tr),Module._SPI_cursor_find=I=>(Module._SPI_cursor_find=wasmExports.SPI_cursor_find)(I),Module._SPI_cursor_fetch=(I,B,tr)=>(Module._SPI_cursor_fetch=wasmExports.SPI_cursor_fetch)(I,B,tr),Module._SPI_scroll_cursor_fetch=(I,B,tr)=>(Module._SPI_scroll_cursor_fetch=wasmExports.SPI_scroll_cursor_fetch)(I,B,tr),Module._SPI_scroll_cursor_move=(I,B,tr)=>(Module._SPI_scroll_cursor_move=wasmExports.SPI_scroll_cursor_move)(I,B,tr),Module._SPI_cursor_close=I=>(Module._SPI_cursor_close=wasmExports.SPI_cursor_close)(I),Module._SPI_result_code_string=I=>(Module._SPI_result_code_string=wasmExports.SPI_result_code_string)(I),Module._SPI_plan_get_plan_sources=I=>(Module._SPI_plan_get_plan_sources=wasmExports.SPI_plan_get_plan_sources)(I),Module._SPI_plan_get_cached_plan=I=>(Module._SPI_plan_get_cached_plan=wasmExports.SPI_plan_get_cached_plan)(I),Module._geterrposition=()=>(Module._geterrposition=wasmExports.geterrposition)(),Module._internalerrposition=I=>(Module._internalerrposition=wasmExports.internalerrposition)(I),Module._internalerrquery=I=>(Module._internalerrquery=wasmExports.internalerrquery)(I),Module._SPI_register_trigger_data=I=>(Module._SPI_register_trigger_data=wasmExports.SPI_register_trigger_data)(I),Module._EOH_get_flat_size=I=>(Module._EOH_get_flat_size=wasmExports.EOH_get_flat_size)(I),Module._EOH_flatten_into=(I,B,tr)=>(Module._EOH_flatten_into=wasmExports.EOH_flatten_into)(I,B,tr),Module._ExecFetchSlotHeapTuple=(I,B,tr)=>(Module._ExecFetchSlotHeapTuple=wasmExports.ExecFetchSlotHeapTuple)(I,B,tr),Module._InputFunctionCall=(I,B,tr,rr)=>(Module._InputFunctionCall=wasmExports.InputFunctionCall)(I,B,tr,rr),Module._convert_tuples_by_position=(I,B,tr)=>(Module._convert_tuples_by_position=wasmExports.convert_tuples_by_position)(I,B,tr),Module._SetTuplestoreDestReceiverParams=(I,B,tr,rr,ir,lr)=>(Module._SetTuplestoreDestReceiverParams=wasmExports.SetTuplestoreDestReceiverParams)(I,B,tr,rr,ir,lr),Module._detoast_external_attr=I=>(Module._detoast_external_attr=wasmExports.detoast_external_attr)(I),Module._bms_nonempty_difference=(I,B)=>(Module._bms_nonempty_difference=wasmExports.bms_nonempty_difference)(I,B),Module._table_parallelscan_estimate=(I,B)=>(Module._table_parallelscan_estimate=wasmExports.table_parallelscan_estimate)(I,B),Module._table_parallelscan_initialize=(I,B,tr)=>(Module._table_parallelscan_initialize=wasmExports.table_parallelscan_initialize)(I,B,tr),Module._table_beginscan_parallel=(I,B)=>(Module._table_beginscan_parallel=wasmExports.table_beginscan_parallel)(I,B),Module._BufferUsageAccumDiff=(I,B,tr)=>(Module._BufferUsageAccumDiff=wasmExports.BufferUsageAccumDiff)(I,B,tr),Module._WalUsageAccumDiff=(I,B,tr)=>(Module._WalUsageAccumDiff=wasmExports.WalUsageAccumDiff)(I,B,tr),Module._InstrUpdateTupleCount=(I,B)=>(Module._InstrUpdateTupleCount=wasmExports.InstrUpdateTupleCount)(I,B),Module._tuplesort_reset=I=>(Module._tuplesort_reset=wasmExports.tuplesort_reset)(I),Module._get_call_expr_argtype=(I,B)=>(Module._get_call_expr_argtype=wasmExports.get_call_expr_argtype)(I,B),Module._get_typtype=I=>(Module._get_typtype=wasmExports.get_typtype)(I),Module._pull_var_clause=(I,B)=>(Module._pull_var_clause=wasmExports.pull_var_clause)(I,B),Module._bms_is_subset=(I,B)=>(Module._bms_is_subset=wasmExports.bms_is_subset)(I,B),Module._bms_membership=I=>(Module._bms_membership=wasmExports.bms_membership)(I),Module._make_restrictinfo=(I,B,tr,rr,ir,lr,dr,mr,_r,hr)=>(Module._make_restrictinfo=wasmExports.make_restrictinfo)(I,B,tr,rr,ir,lr,dr,mr,_r,hr),Module._GetSysCacheHashValue=(I,B,tr,rr,ir)=>(Module._GetSysCacheHashValue=wasmExports.GetSysCacheHashValue)(I,B,tr,rr,ir),Module._tlist_member=(I,B)=>(Module._tlist_member=wasmExports.tlist_member)(I,B),Module._add_path=(I,B)=>(Module._add_path=wasmExports.add_path)(I,B),Module._contain_mutable_functions=I=>(Module._contain_mutable_functions=wasmExports.contain_mutable_functions)(I),Module._make_orclause=I=>(Module._make_orclause=wasmExports.make_orclause)(I),Module._extract_actual_clauses=(I,B)=>(Module._extract_actual_clauses=wasmExports.extract_actual_clauses)(I,B),Module._cost_sort=(I,B,tr,rr,ir,lr,dr,mr,_r)=>(Module._cost_sort=wasmExports.cost_sort)(I,B,tr,rr,ir,lr,dr,mr,_r),Module._pathkeys_contained_in=(I,B)=>(Module._pathkeys_contained_in=wasmExports.pathkeys_contained_in)(I,B),Module._change_plan_targetlist=(I,B,tr)=>(Module._change_plan_targetlist=wasmExports.change_plan_targetlist)(I,B,tr),Module._make_foreignscan=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._make_foreignscan=wasmExports.make_foreignscan)(I,B,tr,rr,ir,lr,dr,mr),Module._list_member_ptr=(I,B)=>(Module._list_member_ptr=wasmExports.list_member_ptr)(I,B),Module._clamp_row_est=I=>(Module._clamp_row_est=wasmExports.clamp_row_est)(I),Module._standard_planner=(I,B,tr,rr)=>(Module._standard_planner=wasmExports.standard_planner)(I,B,tr,rr),Module._estimate_expression_value=(I,B)=>(Module._estimate_expression_value=wasmExports.estimate_expression_value)(I,B),Module._add_new_columns_to_pathtarget=(I,B)=>(Module._add_new_columns_to_pathtarget=wasmExports.add_new_columns_to_pathtarget)(I,B),Module._get_sortgroupref_clause_noerr=(I,B)=>(Module._get_sortgroupref_clause_noerr=wasmExports.get_sortgroupref_clause_noerr)(I,B),Module._get_agg_clause_costs=(I,B,tr)=>(Module._get_agg_clause_costs=wasmExports.get_agg_clause_costs)(I,B,tr),Module._grouping_is_sortable=I=>(Module._grouping_is_sortable=wasmExports.grouping_is_sortable)(I),Module._create_sort_path=(I,B,tr,rr,ir)=>(Module._create_sort_path=wasmExports.create_sort_path)(I,B,tr,rr,ir),Module._copy_pathtarget=I=>(Module._copy_pathtarget=wasmExports.copy_pathtarget)(I),Module._get_sortgrouplist_exprs=(I,B)=>(Module._get_sortgrouplist_exprs=wasmExports.get_sortgrouplist_exprs)(I,B),Module._estimate_num_groups=(I,B,tr,rr,ir)=>(Module._estimate_num_groups=wasmExports.estimate_num_groups)(I,B,tr,rr,ir),Module._cost_qual_eval=(I,B,tr)=>(Module._cost_qual_eval=wasmExports.cost_qual_eval)(I,B,tr),Module._plan_create_index_workers=(I,B)=>(Module._plan_create_index_workers=wasmExports.plan_create_index_workers)(I,B),Module._create_projection_path=(I,B,tr,rr)=>(Module._create_projection_path=wasmExports.create_projection_path)(I,B,tr,rr),Module._get_plan_rowmark=(I,B)=>(Module._get_plan_rowmark=wasmExports.get_plan_rowmark)(I,B),Module._find_join_rel=(I,B)=>(Module._find_join_rel=wasmExports.find_join_rel)(I,B),Module._make_canonical_pathkey=(I,B,tr,rr,ir)=>(Module._make_canonical_pathkey=wasmExports.make_canonical_pathkey)(I,B,tr,rr,ir),Module._eclass_useful_for_merging=(I,B,tr)=>(Module._eclass_useful_for_merging=wasmExports.eclass_useful_for_merging)(I,B,tr),Module._update_mergeclause_eclasses=(I,B)=>(Module._update_mergeclause_eclasses=wasmExports.update_mergeclause_eclasses)(I,B),Module._clauselist_selectivity=(I,B,tr,rr,ir)=>(Module._clauselist_selectivity=wasmExports.clauselist_selectivity)(I,B,tr,rr,ir),Module._join_clause_is_movable_to=(I,B)=>(Module._join_clause_is_movable_to=wasmExports.join_clause_is_movable_to)(I,B),Module._generate_implied_equalities_for_column=(I,B,tr,rr,ir)=>(Module._generate_implied_equalities_for_column=wasmExports.generate_implied_equalities_for_column)(I,B,tr,rr,ir),Module._get_tablespace_page_costs=(I,B,tr)=>(Module._get_tablespace_page_costs=wasmExports.get_tablespace_page_costs)(I,B,tr),Module._set_baserel_size_estimates=(I,B)=>(Module._set_baserel_size_estimates=wasmExports.set_baserel_size_estimates)(I,B),Module._add_to_flat_tlist=(I,B)=>(Module._add_to_flat_tlist=wasmExports.add_to_flat_tlist)(I,B),Module._get_baserel_parampathinfo=(I,B,tr)=>(Module._get_baserel_parampathinfo=wasmExports.get_baserel_parampathinfo)(I,B,tr),Module._create_foreignscan_path=(I,B,tr,rr,ir,lr,dr,mr,_r,hr)=>(Module._create_foreignscan_path=wasmExports.create_foreignscan_path)(I,B,tr,rr,ir,lr,dr,mr,_r,hr),Module._create_foreign_join_path=(I,B,tr,rr,ir,lr,dr,mr,_r,hr)=>(Module._create_foreign_join_path=wasmExports.create_foreign_join_path)(I,B,tr,rr,ir,lr,dr,mr,_r,hr),Module._create_foreign_upper_path=(I,B,tr,rr,ir,lr,dr,mr,_r)=>(Module._create_foreign_upper_path=wasmExports.create_foreign_upper_path)(I,B,tr,rr,ir,lr,dr,mr,_r),Module._adjust_limit_rows_costs=(I,B,tr,rr,ir)=>(Module._adjust_limit_rows_costs=wasmExports.adjust_limit_rows_costs)(I,B,tr,rr,ir),Module._SearchSysCacheAttName=(I,B)=>(Module._SearchSysCacheAttName=wasmExports.SearchSysCacheAttName)(I,B),Module._get_translated_update_targetlist=(I,B,tr,rr)=>(Module._get_translated_update_targetlist=wasmExports.get_translated_update_targetlist)(I,B,tr,rr),Module._add_row_identity_var=(I,B,tr,rr)=>(Module._add_row_identity_var=wasmExports.add_row_identity_var)(I,B,tr,rr),Module._get_rel_all_updated_cols=(I,B)=>(Module._get_rel_all_updated_cols=wasmExports.get_rel_all_updated_cols)(I,B),Module._list_append_unique_ptr=(I,B)=>(Module._list_append_unique_ptr=wasmExports.list_append_unique_ptr)(I,B),Module._palloc_extended=(I,B)=>(Module._palloc_extended=wasmExports.palloc_extended)(I,B),Module._pg_reg_getinitialstate=I=>(Module._pg_reg_getinitialstate=wasmExports.pg_reg_getinitialstate)(I),Module._pg_reg_getfinalstate=I=>(Module._pg_reg_getfinalstate=wasmExports.pg_reg_getfinalstate)(I),Module._pg_reg_getnumoutarcs=(I,B)=>(Module._pg_reg_getnumoutarcs=wasmExports.pg_reg_getnumoutarcs)(I,B),Module._pg_reg_getoutarcs=(I,B,tr,rr)=>(Module._pg_reg_getoutarcs=wasmExports.pg_reg_getoutarcs)(I,B,tr,rr),Module._pg_reg_getnumcolors=I=>(Module._pg_reg_getnumcolors=wasmExports.pg_reg_getnumcolors)(I),Module._pg_reg_colorisbegin=(I,B)=>(Module._pg_reg_colorisbegin=wasmExports.pg_reg_colorisbegin)(I,B),Module._pg_reg_colorisend=(I,B)=>(Module._pg_reg_colorisend=wasmExports.pg_reg_colorisend)(I,B),Module._pg_reg_getnumcharacters=(I,B)=>(Module._pg_reg_getnumcharacters=wasmExports.pg_reg_getnumcharacters)(I,B),Module._pg_reg_getcharacters=(I,B,tr,rr)=>(Module._pg_reg_getcharacters=wasmExports.pg_reg_getcharacters)(I,B,tr,rr),Module._toupper=I=>(Module._toupper=wasmExports.toupper)(I),Module._pg_initdb=()=>(Module._pg_initdb=wasmExports.pg_initdb)(),Module._pg_initdb_main=()=>(Module._pg_initdb_main=wasmExports.pg_initdb_main)(),Module.___cxa_throw=(I,B,tr)=>(Module.___cxa_throw=wasmExports.__cxa_throw)(I,B,tr),Module._main_repl=()=>(Module._main_repl=wasmExports.main_repl)(),Module._main=(I,B)=>(Module._main=wasmExports.__main_argc_argv)(I,B),Module._setenv=(I,B,tr)=>(Module._setenv=wasmExports.setenv)(I,B,tr),Module._pg_repl_raf=()=>(Module._pg_repl_raf=wasmExports.pg_repl_raf)(),Module._GetForeignDataWrapper=I=>(Module._GetForeignDataWrapper=wasmExports.GetForeignDataWrapper)(I),Module._GetForeignServer=I=>(Module._GetForeignServer=wasmExports.GetForeignServer)(I),Module._GetForeignServerExtended=(I,B)=>(Module._GetForeignServerExtended=wasmExports.GetForeignServerExtended)(I,B),Module._GetForeignServerByName=(I,B)=>(Module._GetForeignServerByName=wasmExports.GetForeignServerByName)(I,B),Module._GetUserMapping=(I,B)=>(Module._GetUserMapping=wasmExports.GetUserMapping)(I,B),Module._GetForeignTable=I=>(Module._GetForeignTable=wasmExports.GetForeignTable)(I),Module._GetForeignColumnOptions=(I,B)=>(Module._GetForeignColumnOptions=wasmExports.GetForeignColumnOptions)(I,B),Module._initClosestMatch=(I,B,tr)=>(Module._initClosestMatch=wasmExports.initClosestMatch)(I,B,tr),Module._updateClosestMatch=(I,B)=>(Module._updateClosestMatch=wasmExports.updateClosestMatch)(I,B),Module._getClosestMatch=I=>(Module._getClosestMatch=wasmExports.getClosestMatch)(I),Module._GetExistingLocalJoinPath=I=>(Module._GetExistingLocalJoinPath=wasmExports.GetExistingLocalJoinPath)(I),Module._BaseBackupAddTarget=(I,B,tr)=>(Module._BaseBackupAddTarget=wasmExports.BaseBackupAddTarget)(I,B,tr),Module._bbsink_forward_begin_backup=I=>(Module._bbsink_forward_begin_backup=wasmExports.bbsink_forward_begin_backup)(I),Module._bbsink_forward_archive_contents=(I,B)=>(Module._bbsink_forward_archive_contents=wasmExports.bbsink_forward_archive_contents)(I,B),Module._bbsink_forward_end_archive=I=>(Module._bbsink_forward_end_archive=wasmExports.bbsink_forward_end_archive)(I),Module._bbsink_forward_begin_archive=(I,B)=>(Module._bbsink_forward_begin_archive=wasmExports.bbsink_forward_begin_archive)(I,B),Module._bbsink_forward_begin_manifest=I=>(Module._bbsink_forward_begin_manifest=wasmExports.bbsink_forward_begin_manifest)(I),Module._bbsink_forward_manifest_contents=(I,B)=>(Module._bbsink_forward_manifest_contents=wasmExports.bbsink_forward_manifest_contents)(I,B),Module._bbsink_forward_end_manifest=I=>(Module._bbsink_forward_end_manifest=wasmExports.bbsink_forward_end_manifest)(I),Module._bbsink_forward_end_backup=(I,B,tr)=>(Module._bbsink_forward_end_backup=wasmExports.bbsink_forward_end_backup)(I,B,tr),Module._bbsink_forward_cleanup=I=>(Module._bbsink_forward_cleanup=wasmExports.bbsink_forward_cleanup)(I),Module._ResourceOwnerCreate=(I,B)=>(Module._ResourceOwnerCreate=wasmExports.ResourceOwnerCreate)(I,B),Module._escape_json=(I,B)=>(Module._escape_json=wasmExports.escape_json)(I,B),Module._exprIsLengthCoercion=(I,B)=>(Module._exprIsLengthCoercion=wasmExports.exprIsLengthCoercion)(I,B),Module._tbm_add_tuples=(I,B,tr,rr)=>(Module._tbm_add_tuples=wasmExports.tbm_add_tuples)(I,B,tr,rr),Module._appendStringInfoStringQuoted=(I,B,tr)=>(Module._appendStringInfoStringQuoted=wasmExports.appendStringInfoStringQuoted)(I,B,tr),Module._list_make5_impl=(I,B,tr,rr,ir,lr)=>(Module._list_make5_impl=wasmExports.list_make5_impl)(I,B,tr,rr,ir,lr),Module._list_delete=(I,B)=>(Module._list_delete=wasmExports.list_delete)(I,B),Module._CleanQuerytext=(I,B,tr)=>(Module._CleanQuerytext=wasmExports.CleanQuerytext)(I,B,tr),Module._EnableQueryId=()=>(Module._EnableQueryId=wasmExports.EnableQueryId)(),Module._get_rel_type_id=I=>(Module._get_rel_type_id=wasmExports.get_rel_type_id)(I),Module._set_config_option=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._set_config_option=wasmExports.set_config_option)(I,B,tr,rr,ir,lr,dr,mr),Module._NewGUCNestLevel=()=>(Module._NewGUCNestLevel=wasmExports.NewGUCNestLevel)(),Module._AtEOXact_GUC=(I,B)=>(Module._AtEOXact_GUC=wasmExports.AtEOXact_GUC)(I,B),Module._parse_int=(I,B,tr,rr)=>(Module._parse_int=wasmExports.parse_int)(I,B,tr,rr),Module._strtod=(I,B)=>(Module._strtod=wasmExports.strtod)(I,B),Module._parse_real=(I,B,tr,rr)=>(Module._parse_real=wasmExports.parse_real)(I,B,tr,rr),Module._DefineCustomBoolVariable=(I,B,tr,rr,ir,lr,dr,mr,_r,hr)=>(Module._DefineCustomBoolVariable=wasmExports.DefineCustomBoolVariable)(I,B,tr,rr,ir,lr,dr,mr,_r,hr),Module._DefineCustomIntVariable=(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr)=>(Module._DefineCustomIntVariable=wasmExports.DefineCustomIntVariable)(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr),Module._DefineCustomRealVariable=(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr)=>(Module._DefineCustomRealVariable=wasmExports.DefineCustomRealVariable)(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr),Module._DefineCustomStringVariable=(I,B,tr,rr,ir,lr,dr,mr,_r,hr)=>(Module._DefineCustomStringVariable=wasmExports.DefineCustomStringVariable)(I,B,tr,rr,ir,lr,dr,mr,_r,hr),Module._DefineCustomEnumVariable=(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr)=>(Module._DefineCustomEnumVariable=wasmExports.DefineCustomEnumVariable)(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr),Module._MarkGUCPrefixReserved=I=>(Module._MarkGUCPrefixReserved=wasmExports.MarkGUCPrefixReserved)(I),Module._strcspn=(I,B)=>(Module._strcspn=wasmExports.strcspn)(I,B),Module._BlockSampler_Init=(I,B,tr,rr)=>(Module._BlockSampler_Init=wasmExports.BlockSampler_Init)(I,B,tr,rr),Module._sampler_random_init_state=(I,B)=>(Module._sampler_random_init_state=wasmExports.sampler_random_init_state)(I,B),Module._BlockSampler_HasMore=I=>(Module._BlockSampler_HasMore=wasmExports.BlockSampler_HasMore)(I),Module._BlockSampler_Next=I=>(Module._BlockSampler_Next=wasmExports.BlockSampler_Next)(I),Module._sampler_random_fract=I=>(Module._sampler_random_fract=wasmExports.sampler_random_fract)(I),Module._reservoir_init_selection_state=(I,B)=>(Module._reservoir_init_selection_state=wasmExports.reservoir_init_selection_state)(I,B),Module._reservoir_get_next_S=(I,B,tr)=>(Module._reservoir_get_next_S=wasmExports.reservoir_get_next_S)(I,B,tr),Module._canonicalize_path=I=>(Module._canonicalize_path=wasmExports.canonicalize_path)(I),Module.__bt_mkscankey=(I,B)=>(Module.__bt_mkscankey=wasmExports._bt_mkscankey)(I,B),Module._nocache_index_getattr=(I,B,tr)=>(Module._nocache_index_getattr=wasmExports.nocache_index_getattr)(I,B,tr),Module._tuplesort_estimate_shared=I=>(Module._tuplesort_estimate_shared=wasmExports.tuplesort_estimate_shared)(I),Module._tuplesort_initialize_shared=(I,B,tr)=>(Module._tuplesort_initialize_shared=wasmExports.tuplesort_initialize_shared)(I,B,tr),Module._tuplesort_attach_shared=(I,B)=>(Module._tuplesort_attach_shared=wasmExports.tuplesort_attach_shared)(I,B),Module._GetCurrentTransactionNestLevel=()=>(Module._GetCurrentTransactionNestLevel=wasmExports.GetCurrentTransactionNestLevel)(),Module._in_error_recursion_trouble=()=>(Module._in_error_recursion_trouble=wasmExports.in_error_recursion_trouble)(),Module._strrchr=(I,B)=>(Module._strrchr=wasmExports.strrchr)(I,B),Module._errhidestmt=I=>(Module._errhidestmt=wasmExports.errhidestmt)(I),Module._err_generic_string=(I,B)=>(Module._err_generic_string=wasmExports.err_generic_string)(I,B),Module._getinternalerrposition=()=>(Module._getinternalerrposition=wasmExports.getinternalerrposition)(),Module._GetErrorContextStack=()=>(Module._GetErrorContextStack=wasmExports.GetErrorContextStack)(),Module._SplitIdentifierString=(I,B,tr)=>(Module._SplitIdentifierString=wasmExports.SplitIdentifierString)(I,B,tr),Module._appendStringInfoSpaces=(I,B)=>(Module._appendStringInfoSpaces=wasmExports.appendStringInfoSpaces)(I,B),Module._unpack_sql_state=I=>(Module._unpack_sql_state=wasmExports.unpack_sql_state)(I),Module._CreateTupleDescCopyConstr=I=>(Module._CreateTupleDescCopyConstr=wasmExports.CreateTupleDescCopyConstr)(I),Module._CachedPlanAllowsSimpleValidityCheck=(I,B,tr)=>(Module._CachedPlanAllowsSimpleValidityCheck=wasmExports.CachedPlanAllowsSimpleValidityCheck)(I,B,tr),Module._CachedPlanIsSimplyValid=(I,B,tr)=>(Module._CachedPlanIsSimplyValid=wasmExports.CachedPlanIsSimplyValid)(I,B,tr),Module._GetCachedExpression=I=>(Module._GetCachedExpression=wasmExports.GetCachedExpression)(I),Module._FreeCachedExpression=I=>(Module._FreeCachedExpression=wasmExports.FreeCachedExpression)(I),Module._MemoryContextDeleteChildren=I=>(Module._MemoryContextDeleteChildren=wasmExports.MemoryContextDeleteChildren)(I),Module._is_publishable_relation=I=>(Module._is_publishable_relation=wasmExports.is_publishable_relation)(I),Module._GetRelationPublications=I=>(Module._GetRelationPublications=wasmExports.GetRelationPublications)(I),Module._GetSchemaPublications=I=>(Module._GetSchemaPublications=wasmExports.GetSchemaPublications)(I),Module._index_getprocid=(I,B,tr)=>(Module._index_getprocid=wasmExports.index_getprocid)(I,B,tr),Module._get_rel_relispartition=I=>(Module._get_rel_relispartition=wasmExports.get_rel_relispartition)(I),Module._get_func_namespace=I=>(Module._get_func_namespace=wasmExports.get_func_namespace)(I),Module._get_typsubscript=(I,B)=>(Module._get_typsubscript=wasmExports.get_typsubscript)(I,B),Module._get_namespace_name_or_temp=I=>(Module._get_namespace_name_or_temp=wasmExports.get_namespace_name_or_temp)(I),Module._texteq=I=>(Module._texteq=wasmExports.texteq)(I),Module._GetUserIdAndSecContext=(I,B)=>(Module._GetUserIdAndSecContext=wasmExports.GetUserIdAndSecContext)(I,B),Module._SetUserIdAndSecContext=(I,B)=>(Module._SetUserIdAndSecContext=wasmExports.SetUserIdAndSecContext)(I,B),Module._DirectFunctionCall5Coll=(I,B,tr,rr,ir,lr,dr)=>(Module._DirectFunctionCall5Coll=wasmExports.DirectFunctionCall5Coll)(I,B,tr,rr,ir,lr,dr),Module._CallerFInfoFunctionCall2=(I,B,tr,rr,ir)=>(Module._CallerFInfoFunctionCall2=wasmExports.CallerFInfoFunctionCall2)(I,B,tr,rr,ir),Module._FunctionCall0Coll=(I,B)=>(Module._FunctionCall0Coll=wasmExports.FunctionCall0Coll)(I,B),Module._OutputFunctionCall=(I,B)=>(Module._OutputFunctionCall=wasmExports.OutputFunctionCall)(I,B),Module._get_fn_expr_rettype=I=>(Module._get_fn_expr_rettype=wasmExports.get_fn_expr_rettype)(I),Module._has_fn_opclass_options=I=>(Module._has_fn_opclass_options=wasmExports.has_fn_opclass_options)(I),Module._get_fn_opclass_options=I=>(Module._get_fn_opclass_options=wasmExports.get_fn_opclass_options)(I),Module._CheckFunctionValidatorAccess=(I,B)=>(Module._CheckFunctionValidatorAccess=wasmExports.CheckFunctionValidatorAccess)(I,B),Module._resolve_polymorphic_argtypes=(I,B,tr,rr)=>(Module._resolve_polymorphic_argtypes=wasmExports.resolve_polymorphic_argtypes)(I,B,tr,rr),Module._get_func_arg_info=(I,B,tr,rr)=>(Module._get_func_arg_info=wasmExports.get_func_arg_info)(I,B,tr,rr),Module._dlsym=(I,B)=>(Module._dlsym=wasmExports.dlsym)(I,B),Module._dlopen=(I,B)=>(Module._dlopen=wasmExports.dlopen)(I,B),Module._dlerror=()=>(Module._dlerror=wasmExports.dlerror)(),Module._dlclose=I=>(Module._dlclose=wasmExports.dlclose)(I),Module._find_rendezvous_variable=I=>(Module._find_rendezvous_variable=wasmExports.find_rendezvous_variable)(I),Module._fscanf=(I,B,tr)=>(Module._fscanf=wasmExports.fscanf)(I,B,tr),Module._strlcat=(I,B,tr)=>(Module._strlcat=wasmExports.strlcat)(I,B,tr),Module._pg_bindtextdomain=I=>(Module._pg_bindtextdomain=wasmExports.pg_bindtextdomain)(I),Module._pg_do_encoding_conversion=(I,B,tr,rr)=>(Module._pg_do_encoding_conversion=wasmExports.pg_do_encoding_conversion)(I,B,tr,rr),Module._report_invalid_encoding=(I,B,tr)=>(Module._report_invalid_encoding=wasmExports.report_invalid_encoding)(I,B,tr),Module._pg_encoding_to_char_private=I=>(Module._pg_encoding_to_char_private=wasmExports.pg_encoding_to_char_private)(I),Module._MemoryContextAllocHuge=(I,B)=>(Module._MemoryContextAllocHuge=wasmExports.MemoryContextAllocHuge)(I,B),Module._namein=I=>(Module._namein=wasmExports.namein)(I),Module._pg_char_to_encoding_private=I=>(Module._pg_char_to_encoding_private=wasmExports.pg_char_to_encoding_private)(I),Module._pg_encoding_max_length=I=>(Module._pg_encoding_max_length=wasmExports.pg_encoding_max_length)(I),Module._pg_server_to_any=(I,B,tr)=>(Module._pg_server_to_any=wasmExports.pg_server_to_any)(I,B,tr),Module._pg_utf_mblen=I=>(Module._pg_utf_mblen=wasmExports.pg_utf_mblen)(I),Module._pg_wchar2mb_with_len=(I,B,tr)=>(Module._pg_wchar2mb_with_len=wasmExports.pg_wchar2mb_with_len)(I,B,tr),Module._pg_encoding_mblen=(I,B)=>(Module._pg_encoding_mblen=wasmExports.pg_encoding_mblen)(I,B),Module._check_encoding_conversion_args=(I,B,tr,rr,ir)=>(Module._check_encoding_conversion_args=wasmExports.check_encoding_conversion_args)(I,B,tr,rr,ir),Module._report_untranslatable_char=(I,B,tr,rr)=>(Module._report_untranslatable_char=wasmExports.report_untranslatable_char)(I,B,tr,rr),Module._local2local=(I,B,tr,rr,ir,lr,dr)=>(Module._local2local=wasmExports.local2local)(I,B,tr,rr,ir,lr,dr),Module._latin2mic=(I,B,tr,rr,ir,lr)=>(Module._latin2mic=wasmExports.latin2mic)(I,B,tr,rr,ir,lr),Module._mic2latin=(I,B,tr,rr,ir,lr)=>(Module._mic2latin=wasmExports.mic2latin)(I,B,tr,rr,ir,lr),Module._latin2mic_with_table=(I,B,tr,rr,ir,lr,dr)=>(Module._latin2mic_with_table=wasmExports.latin2mic_with_table)(I,B,tr,rr,ir,lr,dr),Module._mic2latin_with_table=(I,B,tr,rr,ir,lr,dr)=>(Module._mic2latin_with_table=wasmExports.mic2latin_with_table)(I,B,tr,rr,ir,lr,dr),Module._pg_encoding_verifymbchar=(I,B,tr)=>(Module._pg_encoding_verifymbchar=wasmExports.pg_encoding_verifymbchar)(I,B,tr),Module._float_overflow_error=()=>(Module._float_overflow_error=wasmExports.float_overflow_error)(),Module._float_underflow_error=()=>(Module._float_underflow_error=wasmExports.float_underflow_error)(),Module._float4in_internal=(I,B,tr,rr,ir)=>(Module._float4in_internal=wasmExports.float4in_internal)(I,B,tr,rr,ir),Module._strtof=(I,B)=>(Module._strtof=wasmExports.strtof)(I,B),Module._float_to_shortest_decimal_buf=(I,B)=>(Module._float_to_shortest_decimal_buf=wasmExports.float_to_shortest_decimal_buf)(I,B),Module._float8in_internal=(I,B,tr,rr,ir)=>(Module._float8in_internal=wasmExports.float8in_internal)(I,B,tr,rr,ir),Module._float8out_internal=I=>(Module._float8out_internal=wasmExports.float8out_internal)(I),Module._btfloat4cmp=I=>(Module._btfloat4cmp=wasmExports.btfloat4cmp)(I),Module._btfloat8cmp=I=>(Module._btfloat8cmp=wasmExports.btfloat8cmp)(I),Module._pow=(I,B)=>(Module._pow=wasmExports.pow)(I,B),Module._log10=I=>(Module._log10=wasmExports.log10)(I),Module._acos=I=>(Module._acos=wasmExports.acos)(I),Module._asin=I=>(Module._asin=wasmExports.asin)(I),Module._cos=I=>(Module._cos=wasmExports.cos)(I),Module._sin=I=>(Module._sin=wasmExports.sin)(I),Module._fmod=(I,B)=>(Module._fmod=wasmExports.fmod)(I,B),Module._construct_array=(I,B,tr,rr,ir,lr)=>(Module._construct_array=wasmExports.construct_array)(I,B,tr,rr,ir,lr),Module._try_relation_open=(I,B)=>(Module._try_relation_open=wasmExports.try_relation_open)(I,B),Module._forkname_to_number=I=>(Module._forkname_to_number=wasmExports.forkname_to_number)(I),Module._numeric_lt=I=>(Module._numeric_lt=wasmExports.numeric_lt)(I),Module._int64_to_numeric=I=>(Module._int64_to_numeric=wasmExports.int64_to_numeric)(I),Module._numeric_sub=I=>(Module._numeric_sub=wasmExports.numeric_sub)(I),Module._numeric_ge=I=>(Module._numeric_ge=wasmExports.numeric_ge)(I),Module._inet_in=I=>(Module._inet_in=wasmExports.inet_in)(I),Module._format_operator=I=>(Module._format_operator=wasmExports.format_operator)(I),Module._RelationIsVisible=I=>(Module._RelationIsVisible=wasmExports.RelationIsVisible)(I),Module._pg_get_indexdef_columns_extended=(I,B)=>(Module._pg_get_indexdef_columns_extended=wasmExports.pg_get_indexdef_columns_extended)(I,B),Module._accumArrayResult=(I,B,tr,rr,ir)=>(Module._accumArrayResult=wasmExports.accumArrayResult)(I,B,tr,rr,ir),Module._makeArrayResult=(I,B)=>(Module._makeArrayResult=wasmExports.makeArrayResult)(I,B),Module._init_local_reloptions=(I,B)=>(Module._init_local_reloptions=wasmExports.init_local_reloptions)(I,B),Module._add_local_int_reloption=(I,B,tr,rr,ir,lr,dr)=>(Module._add_local_int_reloption=wasmExports.add_local_int_reloption)(I,B,tr,rr,ir,lr,dr),Module._pg_inet_net_ntop=(I,B,tr,rr,ir)=>(Module._pg_inet_net_ntop=wasmExports.pg_inet_net_ntop)(I,B,tr,rr,ir),Module._network_cmp=I=>(Module._network_cmp=wasmExports.network_cmp)(I),Module._convert_network_to_scalar=(I,B,tr)=>(Module._convert_network_to_scalar=wasmExports.convert_network_to_scalar)(I,B,tr),Module._JsonbValueToJsonb=I=>(Module._JsonbValueToJsonb=wasmExports.JsonbValueToJsonb)(I),Module._pushJsonbValue=(I,B,tr)=>(Module._pushJsonbValue=wasmExports.pushJsonbValue)(I,B,tr),Module._numeric_cmp=I=>(Module._numeric_cmp=wasmExports.numeric_cmp)(I),Module._timetz_cmp=I=>(Module._timetz_cmp=wasmExports.timetz_cmp)(I),Module._date_cmp=I=>(Module._date_cmp=wasmExports.date_cmp)(I),Module._time_cmp=I=>(Module._time_cmp=wasmExports.time_cmp)(I),Module._timestamp_cmp=I=>(Module._timestamp_cmp=wasmExports.timestamp_cmp)(I),Module._domain_check=(I,B,tr,rr,ir)=>(Module._domain_check=wasmExports.domain_check)(I,B,tr,rr,ir),Module._initArrayResult=(I,B,tr)=>(Module._initArrayResult=wasmExports.initArrayResult)(I,B,tr),Module._path_is_prefix_of_path=(I,B)=>(Module._path_is_prefix_of_path=wasmExports.path_is_prefix_of_path)(I,B),Module._path_is_relative_and_below_cwd=I=>(Module._path_is_relative_and_below_cwd=wasmExports.path_is_relative_and_below_cwd)(I),Module._ArrayGetIntegerTypmods=(I,B)=>(Module._ArrayGetIntegerTypmods=wasmExports.ArrayGetIntegerTypmods)(I,B),Module._bpchareq=I=>(Module._bpchareq=wasmExports.bpchareq)(I),Module._varstr_cmp=(I,B,tr,rr,ir)=>(Module._varstr_cmp=wasmExports.varstr_cmp)(I,B,tr,rr,ir),Module._bpcharlt=I=>(Module._bpcharlt=wasmExports.bpcharlt)(I),Module._bpcharle=I=>(Module._bpcharle=wasmExports.bpcharle)(I),Module._bpchargt=I=>(Module._bpchargt=wasmExports.bpchargt)(I),Module._bpcharge=I=>(Module._bpcharge=wasmExports.bpcharge)(I),Module._bpcharcmp=I=>(Module._bpcharcmp=wasmExports.bpcharcmp)(I),Module._current_query=I=>(Module._current_query=wasmExports.current_query)(I),Module._str_tolower=(I,B,tr)=>(Module._str_tolower=wasmExports.str_tolower)(I,B,tr),Module._TransferExpandedObject=(I,B)=>(Module._TransferExpandedObject=wasmExports.TransferExpandedObject)(I,B),Module._macaddr_cmp=I=>(Module._macaddr_cmp=wasmExports.macaddr_cmp)(I),Module._macaddr_lt=I=>(Module._macaddr_lt=wasmExports.macaddr_lt)(I),Module._macaddr_le=I=>(Module._macaddr_le=wasmExports.macaddr_le)(I),Module._macaddr_eq=I=>(Module._macaddr_eq=wasmExports.macaddr_eq)(I),Module._macaddr_ge=I=>(Module._macaddr_ge=wasmExports.macaddr_ge)(I),Module._macaddr_gt=I=>(Module._macaddr_gt=wasmExports.macaddr_gt)(I),Module._quote_ident=I=>(Module._quote_ident=wasmExports.quote_ident)(I),Module._timestamp_in=I=>(Module._timestamp_in=wasmExports.timestamp_in)(I),Module._ParseDateTime=(I,B,tr,rr,ir,lr,dr)=>(Module._ParseDateTime=wasmExports.ParseDateTime)(I,B,tr,rr,ir,lr,dr),Module._DecodeDateTime=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._DecodeDateTime=wasmExports.DecodeDateTime)(I,B,tr,rr,ir,lr,dr,mr),Module.___multi3=(I,B,tr,rr,ir)=>(Module.___multi3=wasmExports.__multi3)(I,B,tr,rr,ir),Module._timestamptz_in=I=>(Module._timestamptz_in=wasmExports.timestamptz_in)(I),Module._timestamp_eq=I=>(Module._timestamp_eq=wasmExports.timestamp_eq)(I),Module._timestamp_lt=I=>(Module._timestamp_lt=wasmExports.timestamp_lt)(I),Module._timestamp_gt=I=>(Module._timestamp_gt=wasmExports.timestamp_gt)(I),Module._timestamp_le=I=>(Module._timestamp_le=wasmExports.timestamp_le)(I),Module._timestamp_ge=I=>(Module._timestamp_ge=wasmExports.timestamp_ge)(I),Module._interval_eq=I=>(Module._interval_eq=wasmExports.interval_eq)(I),Module._interval_lt=I=>(Module._interval_lt=wasmExports.interval_lt)(I),Module._interval_gt=I=>(Module._interval_gt=wasmExports.interval_gt)(I),Module._interval_le=I=>(Module._interval_le=wasmExports.interval_le)(I),Module._interval_ge=I=>(Module._interval_ge=wasmExports.interval_ge)(I),Module._interval_cmp=I=>(Module._interval_cmp=wasmExports.interval_cmp)(I),Module._timestamp_mi=I=>(Module._timestamp_mi=wasmExports.timestamp_mi)(I),Module._interval_um=I=>(Module._interval_um=wasmExports.interval_um)(I),Module._interval_mi=I=>(Module._interval_mi=wasmExports.interval_mi)(I),Module._IsValidJsonNumber=(I,B)=>(Module._IsValidJsonNumber=wasmExports.IsValidJsonNumber)(I,B),Module._btnamecmp=I=>(Module._btnamecmp=wasmExports.btnamecmp)(I),Module._strncpy=(I,B,tr)=>(Module._strncpy=wasmExports.strncpy)(I,B,tr),Module._expand_array=(I,B,tr)=>(Module._expand_array=wasmExports.expand_array)(I,B,tr),Module._pg_get_encoding_from_locale=(I,B)=>(Module._pg_get_encoding_from_locale=wasmExports.pg_get_encoding_from_locale)(I,B),Module._localtime=I=>(Module._localtime=wasmExports.localtime)(I),Module._strftime=(I,B,tr,rr)=>(Module._strftime=wasmExports.strftime)(I,B,tr,rr),Module._numeric_is_nan=I=>(Module._numeric_is_nan=wasmExports.numeric_is_nan)(I),Module._numeric_eq=I=>(Module._numeric_eq=wasmExports.numeric_eq)(I),Module._numeric_gt=I=>(Module._numeric_gt=wasmExports.numeric_gt)(I),Module._numeric_le=I=>(Module._numeric_le=wasmExports.numeric_le)(I),Module._numeric_div=I=>(Module._numeric_div=wasmExports.numeric_div)(I),Module._numeric_float8_no_overflow=I=>(Module._numeric_float8_no_overflow=wasmExports.numeric_float8_no_overflow)(I),Module._numeric_float4=I=>(Module._numeric_float4=wasmExports.numeric_float4)(I),Module._date_eq=I=>(Module._date_eq=wasmExports.date_eq)(I),Module._date_lt=I=>(Module._date_lt=wasmExports.date_lt)(I),Module._date_le=I=>(Module._date_le=wasmExports.date_le)(I),Module._date_gt=I=>(Module._date_gt=wasmExports.date_gt)(I),Module._date_ge=I=>(Module._date_ge=wasmExports.date_ge)(I),Module._date_mi=I=>(Module._date_mi=wasmExports.date_mi)(I),Module._time_eq=I=>(Module._time_eq=wasmExports.time_eq)(I),Module._time_lt=I=>(Module._time_lt=wasmExports.time_lt)(I),Module._time_le=I=>(Module._time_le=wasmExports.time_le)(I),Module._time_gt=I=>(Module._time_gt=wasmExports.time_gt)(I),Module._time_ge=I=>(Module._time_ge=wasmExports.time_ge)(I),Module._time_mi_time=I=>(Module._time_mi_time=wasmExports.time_mi_time)(I),Module._get_extension_oid=(I,B)=>(Module._get_extension_oid=wasmExports.get_extension_oid)(I,B),Module._pg_ltoa=(I,B)=>(Module._pg_ltoa=wasmExports.pg_ltoa)(I,B),Module._varbit_in=I=>(Module._varbit_in=wasmExports.varbit_in)(I),Module._biteq=I=>(Module._biteq=wasmExports.biteq)(I),Module._bitlt=I=>(Module._bitlt=wasmExports.bitlt)(I),Module._bitle=I=>(Module._bitle=wasmExports.bitle)(I),Module._bitgt=I=>(Module._bitgt=wasmExports.bitgt)(I),Module._bitge=I=>(Module._bitge=wasmExports.bitge)(I),Module._bitcmp=I=>(Module._bitcmp=wasmExports.bitcmp)(I),Module._tidin=I=>(Module._tidin=wasmExports.tidin)(I),Module._tidout=I=>(Module._tidout=wasmExports.tidout)(I),Module._cash_cmp=I=>(Module._cash_cmp=wasmExports.cash_cmp)(I),Module._arraycontsel=I=>(Module._arraycontsel=wasmExports.arraycontsel)(I),Module._arraycontjoinsel=I=>(Module._arraycontjoinsel=wasmExports.arraycontjoinsel)(I),Module._text_lt=I=>(Module._text_lt=wasmExports.text_lt)(I),Module._text_le=I=>(Module._text_le=wasmExports.text_le)(I),Module._text_gt=I=>(Module._text_gt=wasmExports.text_gt)(I),Module._text_ge=I=>(Module._text_ge=wasmExports.text_ge)(I),Module._bttextcmp=I=>(Module._bttextcmp=wasmExports.bttextcmp)(I),Module._byteaeq=I=>(Module._byteaeq=wasmExports.byteaeq)(I),Module._bytealt=I=>(Module._bytealt=wasmExports.bytealt)(I),Module._byteale=I=>(Module._byteale=wasmExports.byteale)(I),Module._byteagt=I=>(Module._byteagt=wasmExports.byteagt)(I),Module._byteage=I=>(Module._byteage=wasmExports.byteage)(I),Module._byteacmp=I=>(Module._byteacmp=wasmExports.byteacmp)(I),Module._to_hex32=I=>(Module._to_hex32=wasmExports.to_hex32)(I),Module._varstr_levenshtein=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._varstr_levenshtein=wasmExports.varstr_levenshtein)(I,B,tr,rr,ir,lr,dr,mr),Module._utf8_to_unicode=I=>(Module._utf8_to_unicode=wasmExports.utf8_to_unicode)(I),Module._format_type_extended=(I,B,tr)=>(Module._format_type_extended=wasmExports.format_type_extended)(I,B,tr),Module._array_create_iterator=(I,B,tr)=>(Module._array_create_iterator=wasmExports.array_create_iterator)(I,B,tr),Module._array_iterate=(I,B,tr)=>(Module._array_iterate=wasmExports.array_iterate)(I,B,tr),Module._make_expanded_record_from_typeid=(I,B,tr)=>(Module._make_expanded_record_from_typeid=wasmExports.make_expanded_record_from_typeid)(I,B,tr),Module._make_expanded_record_from_tupdesc=(I,B)=>(Module._make_expanded_record_from_tupdesc=wasmExports.make_expanded_record_from_tupdesc)(I,B),Module._make_expanded_record_from_exprecord=(I,B)=>(Module._make_expanded_record_from_exprecord=wasmExports.make_expanded_record_from_exprecord)(I,B),Module._expanded_record_set_tuple=(I,B,tr,rr)=>(Module._expanded_record_set_tuple=wasmExports.expanded_record_set_tuple)(I,B,tr,rr),Module._expanded_record_get_tuple=I=>(Module._expanded_record_get_tuple=wasmExports.expanded_record_get_tuple)(I),Module._deconstruct_expanded_record=I=>(Module._deconstruct_expanded_record=wasmExports.deconstruct_expanded_record)(I),Module._expanded_record_lookup_field=(I,B,tr)=>(Module._expanded_record_lookup_field=wasmExports.expanded_record_lookup_field)(I,B,tr),Module._expanded_record_set_field_internal=(I,B,tr,rr,ir,lr)=>(Module._expanded_record_set_field_internal=wasmExports.expanded_record_set_field_internal)(I,B,tr,rr,ir,lr),Module._expanded_record_set_fields=(I,B,tr,rr)=>(Module._expanded_record_set_fields=wasmExports.expanded_record_set_fields)(I,B,tr,rr),Module._macaddr8_cmp=I=>(Module._macaddr8_cmp=wasmExports.macaddr8_cmp)(I),Module._macaddr8_lt=I=>(Module._macaddr8_lt=wasmExports.macaddr8_lt)(I),Module._macaddr8_le=I=>(Module._macaddr8_le=wasmExports.macaddr8_le)(I),Module._macaddr8_eq=I=>(Module._macaddr8_eq=wasmExports.macaddr8_eq)(I),Module._macaddr8_ge=I=>(Module._macaddr8_ge=wasmExports.macaddr8_ge)(I),Module._macaddr8_gt=I=>(Module._macaddr8_gt=wasmExports.macaddr8_gt)(I),Module._enum_lt=I=>(Module._enum_lt=wasmExports.enum_lt)(I),Module._enum_le=I=>(Module._enum_le=wasmExports.enum_le)(I),Module._enum_ge=I=>(Module._enum_ge=wasmExports.enum_ge)(I),Module._enum_gt=I=>(Module._enum_gt=wasmExports.enum_gt)(I),Module._enum_cmp=I=>(Module._enum_cmp=wasmExports.enum_cmp)(I),Module._uuid_in=I=>(Module._uuid_in=wasmExports.uuid_in)(I),Module._uuid_out=I=>(Module._uuid_out=wasmExports.uuid_out)(I),Module._uuid_cmp=I=>(Module._uuid_cmp=wasmExports.uuid_cmp)(I),Module._gen_random_uuid=I=>(Module._gen_random_uuid=wasmExports.gen_random_uuid)(I),Module._generic_restriction_selectivity=(I,B,tr,rr,ir,lr)=>(Module._generic_restriction_selectivity=wasmExports.generic_restriction_selectivity)(I,B,tr,rr,ir,lr),Module._genericcostestimate=(I,B,tr,rr)=>(Module._genericcostestimate=wasmExports.genericcostestimate)(I,B,tr,rr),Module._pg_xml_init=I=>(Module._pg_xml_init=wasmExports.pg_xml_init)(I),Module._xmlInitParser=()=>(Module._xmlInitParser=wasmExports.xmlInitParser)(),Module._xml_ereport=(I,B,tr,rr)=>(Module._xml_ereport=wasmExports.xml_ereport)(I,B,tr,rr),Module._pg_xml_done=(I,B)=>(Module._pg_xml_done=wasmExports.pg_xml_done)(I,B),Module._xmlXPathNewContext=I=>(Module._xmlXPathNewContext=wasmExports.xmlXPathNewContext)(I),Module._xmlXPathFreeContext=I=>(Module._xmlXPathFreeContext=wasmExports.xmlXPathFreeContext)(I),Module._xmlFreeDoc=I=>(Module._xmlFreeDoc=wasmExports.xmlFreeDoc)(I),Module._xmlXPathCompile=I=>(Module._xmlXPathCompile=wasmExports.xmlXPathCompile)(I),Module._xmlXPathCompiledEval=(I,B)=>(Module._xmlXPathCompiledEval=wasmExports.xmlXPathCompiledEval)(I,B),Module._xmlXPathFreeCompExpr=I=>(Module._xmlXPathFreeCompExpr=wasmExports.xmlXPathFreeCompExpr)(I),Module._xmlStrdup=I=>(Module._xmlStrdup=wasmExports.xmlStrdup)(I),Module._strnlen=(I,B)=>(Module._strnlen=wasmExports.strnlen)(I,B),Module._xmlXPathCastNodeToString=I=>(Module._xmlXPathCastNodeToString=wasmExports.xmlXPathCastNodeToString)(I),Module._heap_modify_tuple_by_cols=(I,B,tr,rr,ir,lr)=>(Module._heap_modify_tuple_by_cols=wasmExports.heap_modify_tuple_by_cols)(I,B,tr,rr,ir,lr),Module._ResourceOwnerReleaseAllPlanCacheRefs=I=>(Module._ResourceOwnerReleaseAllPlanCacheRefs=wasmExports.ResourceOwnerReleaseAllPlanCacheRefs)(I),Module._RegisterResourceReleaseCallback=(I,B)=>(Module._RegisterResourceReleaseCallback=wasmExports.RegisterResourceReleaseCallback)(I,B),Module._PinPortal=I=>(Module._PinPortal=wasmExports.PinPortal)(I),Module._UnpinPortal=I=>(Module._UnpinPortal=wasmExports.UnpinPortal)(I),Module._btint2cmp=I=>(Module._btint2cmp=wasmExports.btint2cmp)(I),Module._btint4cmp=I=>(Module._btint4cmp=wasmExports.btint4cmp)(I),Module._btoidcmp=I=>(Module._btoidcmp=wasmExports.btoidcmp)(I),Module._btcharcmp=I=>(Module._btcharcmp=wasmExports.btcharcmp)(I),Module._btint8cmp=I=>(Module._btint8cmp=wasmExports.btint8cmp)(I),Module._btboolcmp=I=>(Module._btboolcmp=wasmExports.btboolcmp)(I),Module._GetPublicationByName=(I,B)=>(Module._GetPublicationByName=wasmExports.GetPublicationByName)(I,B),Module._GetTopMostAncestorInPublication=(I,B,tr)=>(Module._GetTopMostAncestorInPublication=wasmExports.GetTopMostAncestorInPublication)(I,B,tr),Module._pub_collist_to_bitmapset=(I,B,tr)=>(Module._pub_collist_to_bitmapset=wasmExports.pub_collist_to_bitmapset)(I,B,tr),Module._getExtensionOfObject=(I,B)=>(Module._getExtensionOfObject=wasmExports.getExtensionOfObject)(I,B),Module._visibilitymap_prepare_truncate=(I,B)=>(Module._visibilitymap_prepare_truncate=wasmExports.visibilitymap_prepare_truncate)(I,B),Module._log_newpage_range=(I,B,tr,rr,ir)=>(Module._log_newpage_range=wasmExports.log_newpage_range)(I,B,tr,rr,ir),Module._function_parse_error_transpose=I=>(Module._function_parse_error_transpose=wasmExports.function_parse_error_transpose)(I),Module._IndexGetRelation=(I,B)=>(Module._IndexGetRelation=wasmExports.IndexGetRelation)(I,B),Module._RelnameGetRelid=I=>(Module._RelnameGetRelid=wasmExports.RelnameGetRelid)(I),Module._standard_ProcessUtility=(I,B,tr,rr,ir,lr,dr,mr)=>(Module._standard_ProcessUtility=wasmExports.standard_ProcessUtility)(I,B,tr,rr,ir,lr,dr,mr),Module._Async_Notify=(I,B)=>(Module._Async_Notify=wasmExports.Async_Notify)(I,B),Module._sigaddset=(I,B)=>(Module._sigaddset=wasmExports.sigaddset)(I,B),Module._fsync_pgdata=(I,B)=>(Module._fsync_pgdata=wasmExports.fsync_pgdata)(I,B),Module._get_restricted_token=()=>(Module._get_restricted_token=wasmExports.get_restricted_token)(),Module._pg_malloc=I=>(Module._pg_malloc=wasmExports.pg_malloc)(I),Module._pg_realloc=(I,B)=>(Module._pg_realloc=wasmExports.pg_realloc)(I,B),Module._pg_strdup=I=>(Module._pg_strdup=wasmExports.pg_strdup)(I),Module._simple_prompt=(I,B)=>(Module._simple_prompt=wasmExports.simple_prompt)(I,B),Module._interactive_file=()=>(Module._interactive_file=wasmExports.interactive_file)(),Module._interactive_one=()=>(Module._interactive_one=wasmExports.interactive_one)(),Module._pg_shutdown=()=>(Module._pg_shutdown=wasmExports.pg_shutdown)(),Module._interactive_write=I=>(Module._interactive_write=wasmExports.interactive_write)(I),Module._interactive_read=()=>(Module._interactive_read=wasmExports.interactive_read)(),Module._visibilitymap_pin=(I,B,tr)=>(Module._visibilitymap_pin=wasmExports.visibilitymap_pin)(I,B,tr),Module._HeapTupleSatisfiesVacuum=(I,B,tr)=>(Module._HeapTupleSatisfiesVacuum=wasmExports.HeapTupleSatisfiesVacuum)(I,B,tr),Module._visibilitymap_clear=(I,B,tr,rr)=>(Module._visibilitymap_clear=wasmExports.visibilitymap_clear)(I,B,tr,rr),Module._vac_estimate_reltuples=(I,B,tr,rr)=>(Module._vac_estimate_reltuples=wasmExports.vac_estimate_reltuples)(I,B,tr,rr),Module._heap_tuple_needs_eventual_freeze=I=>(Module._heap_tuple_needs_eventual_freeze=wasmExports.heap_tuple_needs_eventual_freeze)(I),Module._HeapTupleSatisfiesUpdate=(I,B,tr)=>(Module._HeapTupleSatisfiesUpdate=wasmExports.HeapTupleSatisfiesUpdate)(I,B,tr),Module._HeapTupleGetUpdateXid=I=>(Module._HeapTupleGetUpdateXid=wasmExports.HeapTupleGetUpdateXid)(I),Module._HeapTupleSatisfiesVisibility=(I,B,tr)=>(Module._HeapTupleSatisfiesVisibility=wasmExports.HeapTupleSatisfiesVisibility)(I,B,tr),Module._GetMultiXactIdMembers=(I,B,tr,rr)=>(Module._GetMultiXactIdMembers=wasmExports.GetMultiXactIdMembers)(I,B,tr,rr),Module._XLogRecGetBlockTagExtended=(I,B,tr,rr,ir,lr)=>(Module._XLogRecGetBlockTagExtended=wasmExports.XLogRecGetBlockTagExtended)(I,B,tr,rr,ir,lr),Module._toast_open_indexes=(I,B,tr,rr)=>(Module._toast_open_indexes=wasmExports.toast_open_indexes)(I,B,tr,rr),Module._init_toast_snapshot=I=>(Module._init_toast_snapshot=wasmExports.init_toast_snapshot)(I),Module._toast_close_indexes=(I,B,tr)=>(Module._toast_close_indexes=wasmExports.toast_close_indexes)(I,B,tr),Module._index_getprocinfo=(I,B,tr)=>(Module._index_getprocinfo=wasmExports.index_getprocinfo)(I,B,tr),Module._identify_opfamily_groups=(I,B)=>(Module._identify_opfamily_groups=wasmExports.identify_opfamily_groups)(I,B),Module._check_amproc_signature=(I,B,tr,rr,ir,lr)=>(Module._check_amproc_signature=wasmExports.check_amproc_signature)(I,B,tr,rr,ir,lr),Module._check_amoptsproc_signature=I=>(Module._check_amoptsproc_signature=wasmExports.check_amoptsproc_signature)(I),Module._check_amop_signature=(I,B,tr,rr)=>(Module._check_amop_signature=wasmExports.check_amop_signature)(I,B,tr,rr),Module._RelationGetIndexScan=(I,B,tr)=>(Module._RelationGetIndexScan=wasmExports.RelationGetIndexScan)(I,B,tr),Module.__hash_get_indextuple_hashkey=I=>(Module.__hash_get_indextuple_hashkey=wasmExports._hash_get_indextuple_hashkey)(I),Module.__hash_getbuf=(I,B,tr,rr)=>(Module.__hash_getbuf=wasmExports._hash_getbuf)(I,B,tr,rr),Module.__hash_relbuf=(I,B)=>(Module.__hash_relbuf=wasmExports._hash_relbuf)(I,B),Module.__hash_getbuf_with_strategy=(I,B,tr,rr,ir)=>(Module.__hash_getbuf_with_strategy=wasmExports._hash_getbuf_with_strategy)(I,B,tr,rr,ir),Module._build_reloptions=(I,B,tr,rr,ir,lr)=>(Module._build_reloptions=wasmExports.build_reloptions)(I,B,tr,rr,ir,lr),Module._index_form_tuple=(I,B,tr)=>(Module._index_form_tuple=wasmExports.index_form_tuple)(I,B,tr),Module.__hash_ovflblkno_to_bitno=(I,B)=>(Module.__hash_ovflblkno_to_bitno=wasmExports._hash_ovflblkno_to_bitno)(I,B),Module._brin_build_desc=I=>(Module._brin_build_desc=wasmExports.brin_build_desc)(I),Module._brin_deform_tuple=(I,B,tr)=>(Module._brin_deform_tuple=wasmExports.brin_deform_tuple)(I,B,tr),Module._brin_free_desc=I=>(Module._brin_free_desc=wasmExports.brin_free_desc)(I),Module._XLogRecGetBlockRefInfo=(I,B,tr,rr,ir)=>(Module._XLogRecGetBlockRefInfo=wasmExports.XLogRecGetBlockRefInfo)(I,B,tr,rr,ir),Module._ginPostingListDecode=(I,B)=>(Module._ginPostingListDecode=wasmExports.ginPostingListDecode)(I,B),Module._add_reloption_kind=()=>(Module._add_reloption_kind=wasmExports.add_reloption_kind)(),Module._register_reloptions_validator=(I,B)=>(Module._register_reloptions_validator=wasmExports.register_reloptions_validator)(I,B),Module._add_int_reloption=(I,B,tr,rr,ir,lr,dr)=>(Module._add_int_reloption=wasmExports.add_int_reloption)(I,B,tr,rr,ir,lr,dr),Module._XLogFindNextRecord=(I,B)=>(Module._XLogFindNextRecord=wasmExports.XLogFindNextRecord)(I,B),Module._RestoreBlockImage=(I,B,tr)=>(Module._RestoreBlockImage=wasmExports.RestoreBlockImage)(I,B,tr),Module._GenericXLogStart=I=>(Module._GenericXLogStart=wasmExports.GenericXLogStart)(I),Module._GenericXLogRegisterBuffer=(I,B,tr)=>(Module._GenericXLogRegisterBuffer=wasmExports.GenericXLogRegisterBuffer)(I,B,tr),Module._GenericXLogFinish=I=>(Module._GenericXLogFinish=wasmExports.GenericXLogFinish)(I),Module._GenericXLogAbort=I=>(Module._GenericXLogAbort=wasmExports.GenericXLogAbort)(I),Module._read_local_xlog_page_no_wait=(I,B,tr,rr,ir)=>(Module._read_local_xlog_page_no_wait=wasmExports.read_local_xlog_page_no_wait)(I,B,tr,rr,ir),Module._XLogRecStoreStats=(I,B)=>(Module._XLogRecStoreStats=wasmExports.XLogRecStoreStats)(I,B),Module._ReadMultiXactIdRange=(I,B)=>(Module._ReadMultiXactIdRange=wasmExports.ReadMultiXactIdRange)(I,B),Module._MultiXactIdPrecedesOrEquals=(I,B)=>(Module._MultiXactIdPrecedesOrEquals=wasmExports.MultiXactIdPrecedesOrEquals)(I,B),Module._RegisterXactCallback=(I,B)=>(Module._RegisterXactCallback=wasmExports.RegisterXactCallback)(I,B),Module._RegisterSubXactCallback=(I,B)=>(Module._RegisterSubXactCallback=wasmExports.RegisterSubXactCallback)(I,B),Module._ReleaseCurrentSubTransaction=()=>(Module._ReleaseCurrentSubTransaction=wasmExports.ReleaseCurrentSubTransaction)(),Module._WaitForParallelWorkersToAttach=I=>(Module._WaitForParallelWorkersToAttach=wasmExports.WaitForParallelWorkersToAttach)(I),Module.__bt_allequalimage=(I,B)=>(Module.__bt_allequalimage=wasmExports._bt_allequalimage)(I,B),Module.__bt_checkpage=(I,B)=>(Module.__bt_checkpage=wasmExports._bt_checkpage)(I,B),Module.__bt_relbuf=(I,B)=>(Module.__bt_relbuf=wasmExports._bt_relbuf)(I,B),Module.__bt_metaversion=(I,B,tr)=>(Module.__bt_metaversion=wasmExports._bt_metaversion)(I,B,tr),Module.__bt_search=(I,B,tr,rr,ir,lr)=>(Module.__bt_search=wasmExports._bt_search)(I,B,tr,rr,ir,lr),Module.__bt_compare=(I,B,tr,rr)=>(Module.__bt_compare=wasmExports._bt_compare)(I,B,tr,rr),Module.__bt_binsrch_insert=(I,B)=>(Module.__bt_binsrch_insert=wasmExports._bt_binsrch_insert)(I,B),Module.__bt_freestack=I=>(Module.__bt_freestack=wasmExports._bt_freestack)(I),Module.__bt_form_posting=(I,B,tr)=>(Module.__bt_form_posting=wasmExports._bt_form_posting)(I,B,tr),Module.__bt_check_natts=(I,B,tr,rr)=>(Module.__bt_check_natts=wasmExports._bt_check_natts)(I,B,tr,rr),Module._gistcheckpage=(I,B)=>(Module._gistcheckpage=wasmExports.gistcheckpage)(I,B),Module._EndCopyFrom=I=>(Module._EndCopyFrom=wasmExports.EndCopyFrom)(I),Module._ProcessCopyOptions=(I,B,tr,rr)=>(Module._ProcessCopyOptions=wasmExports.ProcessCopyOptions)(I,B,tr,rr),Module._CopyFromErrorCallback=I=>(Module._CopyFromErrorCallback=wasmExports.CopyFromErrorCallback)(I),Module._NextCopyFrom=(I,B,tr,rr)=>(Module._NextCopyFrom=wasmExports.NextCopyFrom)(I,B,tr,rr),Module._nextval=I=>(Module._nextval=wasmExports.nextval)(I),Module._defGetStreamingMode=I=>(Module._defGetStreamingMode=wasmExports.defGetStreamingMode)(I),Module._ExplainBeginOutput=I=>(Module._ExplainBeginOutput=wasmExports.ExplainBeginOutput)(I),Module._NewExplainState=()=>(Module._NewExplainState=wasmExports.NewExplainState)(),Module._ExplainEndOutput=I=>(Module._ExplainEndOutput=wasmExports.ExplainEndOutput)(I),Module._ExplainPrintPlan=(I,B)=>(Module._ExplainPrintPlan=wasmExports.ExplainPrintPlan)(I,B),Module._ExplainPrintTriggers=(I,B)=>(Module._ExplainPrintTriggers=wasmExports.ExplainPrintTriggers)(I,B),Module._ExplainPrintJITSummary=(I,B)=>(Module._ExplainPrintJITSummary=wasmExports.ExplainPrintJITSummary)(I,B),Module._ExplainPropertyInteger=(I,B,tr,rr)=>(Module._ExplainPropertyInteger=wasmExports.ExplainPropertyInteger)(I,B,tr,rr),Module._ExplainQueryText=(I,B)=>(Module._ExplainQueryText=wasmExports.ExplainQueryText)(I,B),Module._ExplainPropertyText=(I,B,tr)=>(Module._ExplainPropertyText=wasmExports.ExplainPropertyText)(I,B,tr),Module._ExplainQueryParameters=(I,B,tr)=>(Module._ExplainQueryParameters=wasmExports.ExplainQueryParameters)(I,B,tr),Module._pg_is_ascii=I=>(Module._pg_is_ascii=wasmExports.pg_is_ascii)(I),Module._fputs=(I,B)=>(Module._fputs=wasmExports.fputs)(I,B),Module._popen=(I,B)=>(Module._popen=wasmExports.popen)(I,B),Module._float_to_shortest_decimal_bufn=(I,B)=>(Module._float_to_shortest_decimal_bufn=wasmExports.float_to_shortest_decimal_bufn)(I,B),Module._pg_prng_uint64=I=>(Module._pg_prng_uint64=wasmExports.pg_prng_uint64)(I),Module._scram_ClientKey=(I,B,tr,rr,ir)=>(Module._scram_ClientKey=wasmExports.scram_ClientKey)(I,B,tr,rr,ir),Module._pg_encoding_dsplen=(I,B)=>(Module._pg_encoding_dsplen=wasmExports.pg_encoding_dsplen)(I,B),Module._getcwd=(I,B)=>(Module._getcwd=wasmExports.getcwd)(I,B),Module._pg_get_user_home_dir=(I,B,tr)=>(Module._pg_get_user_home_dir=wasmExports.pg_get_user_home_dir)(I,B,tr),Module._nanosleep=(I,B)=>(Module._nanosleep=wasmExports.nanosleep)(I,B),Module._snprintf=(I,B,tr,rr)=>(Module._snprintf=wasmExports.snprintf)(I,B,tr,rr),Module._pg_strerror_r=(I,B,tr)=>(Module._pg_strerror_r=wasmExports.pg_strerror_r)(I,B,tr),Module._pthread_mutex_lock=I=>(Module._pthread_mutex_lock=wasmExports.pthread_mutex_lock)(I),Module._pthread_mutex_unlock=I=>(Module._pthread_mutex_unlock=wasmExports.pthread_mutex_unlock)(I),Module._strncat=(I,B,tr)=>(Module._strncat=wasmExports.strncat)(I,B,tr),Module._PQexec=(I,B)=>(Module._PQexec=wasmExports.PQexec)(I,B),Module._PQsetSingleRowMode=I=>(Module._PQsetSingleRowMode=wasmExports.PQsetSingleRowMode)(I),Module._PQcmdStatus=I=>(Module._PQcmdStatus=wasmExports.PQcmdStatus)(I),Module._pthread_sigmask=(I,B,tr)=>(Module._pthread_sigmask=wasmExports.pthread_sigmask)(I,B,tr),Module._sigismember=(I,B)=>(Module._sigismember=wasmExports.sigismember)(I,B),Module._sigpending=I=>(Module._sigpending=wasmExports.sigpending)(I),Module._sigwait=(I,B)=>(Module._sigwait=wasmExports.sigwait)(I,B),Module._isolat1ToUTF8=(I,B,tr,rr)=>(Module._isolat1ToUTF8=wasmExports.isolat1ToUTF8)(I,B,tr,rr),Module._UTF8Toisolat1=(I,B,tr,rr)=>(Module._UTF8Toisolat1=wasmExports.UTF8Toisolat1)(I,B,tr,rr),Module._vfprintf=(I,B,tr)=>(Module._vfprintf=wasmExports.vfprintf)(I,B,tr),Module._vsnprintf=(I,B,tr,rr)=>(Module._vsnprintf=wasmExports.vsnprintf)(I,B,tr,rr),Module._xmlParserValidityWarning=(I,B,tr)=>(Module._xmlParserValidityWarning=wasmExports.xmlParserValidityWarning)(I,B,tr),Module._xmlParserValidityError=(I,B,tr)=>(Module._xmlParserValidityError=wasmExports.xmlParserValidityError)(I,B,tr),Module._xmlParserError=(I,B,tr)=>(Module._xmlParserError=wasmExports.xmlParserError)(I,B,tr),Module._xmlParserWarning=(I,B,tr)=>(Module._xmlParserWarning=wasmExports.xmlParserWarning)(I,B,tr),Module._fprintf=(I,B,tr)=>(Module._fprintf=wasmExports.fprintf)(I,B,tr),Module.___xmlParserInputBufferCreateFilename=(I,B)=>(Module.___xmlParserInputBufferCreateFilename=wasmExports.__xmlParserInputBufferCreateFilename)(I,B),Module.___xmlOutputBufferCreateFilename=(I,B,tr)=>(Module.___xmlOutputBufferCreateFilename=wasmExports.__xmlOutputBufferCreateFilename)(I,B,tr),Module._xmlSAX2InternalSubset=(I,B,tr,rr)=>(Module._xmlSAX2InternalSubset=wasmExports.xmlSAX2InternalSubset)(I,B,tr,rr),Module._xmlSAX2IsStandalone=I=>(Module._xmlSAX2IsStandalone=wasmExports.xmlSAX2IsStandalone)(I),Module._xmlSAX2HasInternalSubset=I=>(Module._xmlSAX2HasInternalSubset=wasmExports.xmlSAX2HasInternalSubset)(I),Module._xmlSAX2HasExternalSubset=I=>(Module._xmlSAX2HasExternalSubset=wasmExports.xmlSAX2HasExternalSubset)(I),Module._xmlSAX2ResolveEntity=(I,B,tr)=>(Module._xmlSAX2ResolveEntity=wasmExports.xmlSAX2ResolveEntity)(I,B,tr),Module._xmlSAX2GetEntity=(I,B)=>(Module._xmlSAX2GetEntity=wasmExports.xmlSAX2GetEntity)(I,B),Module._xmlSAX2EntityDecl=(I,B,tr,rr,ir,lr)=>(Module._xmlSAX2EntityDecl=wasmExports.xmlSAX2EntityDecl)(I,B,tr,rr,ir,lr),Module._xmlSAX2NotationDecl=(I,B,tr,rr)=>(Module._xmlSAX2NotationDecl=wasmExports.xmlSAX2NotationDecl)(I,B,tr,rr),Module._xmlSAX2AttributeDecl=(I,B,tr,rr,ir,lr,dr)=>(Module._xmlSAX2AttributeDecl=wasmExports.xmlSAX2AttributeDecl)(I,B,tr,rr,ir,lr,dr),Module._xmlSAX2ElementDecl=(I,B,tr,rr)=>(Module._xmlSAX2ElementDecl=wasmExports.xmlSAX2ElementDecl)(I,B,tr,rr),Module._xmlSAX2UnparsedEntityDecl=(I,B,tr,rr,ir)=>(Module._xmlSAX2UnparsedEntityDecl=wasmExports.xmlSAX2UnparsedEntityDecl)(I,B,tr,rr,ir),Module._xmlSAX2SetDocumentLocator=(I,B)=>(Module._xmlSAX2SetDocumentLocator=wasmExports.xmlSAX2SetDocumentLocator)(I,B),Module._xmlSAX2StartDocument=I=>(Module._xmlSAX2StartDocument=wasmExports.xmlSAX2StartDocument)(I),Module._xmlSAX2EndDocument=I=>(Module._xmlSAX2EndDocument=wasmExports.xmlSAX2EndDocument)(I),Module._xmlSAX2StartElement=(I,B,tr)=>(Module._xmlSAX2StartElement=wasmExports.xmlSAX2StartElement)(I,B,tr),Module._xmlSAX2EndElement=(I,B)=>(Module._xmlSAX2EndElement=wasmExports.xmlSAX2EndElement)(I,B),Module._xmlSAX2Reference=(I,B)=>(Module._xmlSAX2Reference=wasmExports.xmlSAX2Reference)(I,B),Module._xmlSAX2Characters=(I,B,tr)=>(Module._xmlSAX2Characters=wasmExports.xmlSAX2Characters)(I,B,tr),Module._xmlSAX2ProcessingInstruction=(I,B,tr)=>(Module._xmlSAX2ProcessingInstruction=wasmExports.xmlSAX2ProcessingInstruction)(I,B,tr),Module._xmlSAX2Comment=(I,B)=>(Module._xmlSAX2Comment=wasmExports.xmlSAX2Comment)(I,B),Module._xmlSAX2GetParameterEntity=(I,B)=>(Module._xmlSAX2GetParameterEntity=wasmExports.xmlSAX2GetParameterEntity)(I,B),Module._xmlSAX2CDataBlock=(I,B,tr)=>(Module._xmlSAX2CDataBlock=wasmExports.xmlSAX2CDataBlock)(I,B,tr),Module._xmlSAX2ExternalSubset=(I,B,tr,rr)=>(Module._xmlSAX2ExternalSubset=wasmExports.xmlSAX2ExternalSubset)(I,B,tr,rr),Module._xmlSAX2GetPublicId=I=>(Module._xmlSAX2GetPublicId=wasmExports.xmlSAX2GetPublicId)(I),Module._xmlSAX2GetSystemId=I=>(Module._xmlSAX2GetSystemId=wasmExports.xmlSAX2GetSystemId)(I),Module._xmlSAX2GetLineNumber=I=>(Module._xmlSAX2GetLineNumber=wasmExports.xmlSAX2GetLineNumber)(I),Module._xmlSAX2GetColumnNumber=I=>(Module._xmlSAX2GetColumnNumber=wasmExports.xmlSAX2GetColumnNumber)(I),Module._xmlSAX2IgnorableWhitespace=(I,B,tr)=>(Module._xmlSAX2IgnorableWhitespace=wasmExports.xmlSAX2IgnorableWhitespace)(I,B,tr),Module._xmlHashDefaultDeallocator=(I,B)=>(Module._xmlHashDefaultDeallocator=wasmExports.xmlHashDefaultDeallocator)(I,B),Module._iconv_open=(I,B)=>(Module._iconv_open=wasmExports.iconv_open)(I,B),Module._iconv_close=I=>(Module._iconv_close=wasmExports.iconv_close)(I),Module._iconv=(I,B,tr,rr,ir)=>(Module._iconv=wasmExports.iconv)(I,B,tr,rr,ir),Module._UTF8ToHtml=(I,B,tr,rr)=>(Module._UTF8ToHtml=wasmExports.UTF8ToHtml)(I,B,tr,rr),Module._xmlReadMemory=(I,B,tr,rr,ir)=>(Module._xmlReadMemory=wasmExports.xmlReadMemory)(I,B,tr,rr,ir),Module._xmlSAX2StartElementNs=(I,B,tr,rr,ir,lr,dr,mr,_r)=>(Module._xmlSAX2StartElementNs=wasmExports.xmlSAX2StartElementNs)(I,B,tr,rr,ir,lr,dr,mr,_r),Module._xmlSAX2EndElementNs=(I,B,tr,rr)=>(Module._xmlSAX2EndElementNs=wasmExports.xmlSAX2EndElementNs)(I,B,tr,rr),Module.___cxa_atexit=(I,B,tr)=>(Module.___cxa_atexit=wasmExports.__cxa_atexit)(I,B,tr),Module._xmlDocGetRootElement=I=>(Module._xmlDocGetRootElement=wasmExports.xmlDocGetRootElement)(I),Module._xmlFileMatch=I=>(Module._xmlFileMatch=wasmExports.xmlFileMatch)(I),Module._xmlFileOpen=I=>(Module._xmlFileOpen=wasmExports.xmlFileOpen)(I),Module._xmlFileRead=(I,B,tr)=>(Module._xmlFileRead=wasmExports.xmlFileRead)(I,B,tr),Module._xmlFileClose=I=>(Module._xmlFileClose=wasmExports.xmlFileClose)(I),Module._gzread=(I,B,tr)=>(Module._gzread=wasmExports.gzread)(I,B,tr),Module._gzclose=I=>(Module._gzclose=wasmExports.gzclose)(I),Module._gzdirect=I=>(Module._gzdirect=wasmExports.gzdirect)(I),Module._gzdopen=(I,B)=>(Module._gzdopen=wasmExports.gzdopen)(I,B),Module._gzopen=(I,B)=>(Module._gzopen=wasmExports.gzopen)(I,B),Module._gzwrite=(I,B,tr)=>(Module._gzwrite=wasmExports.gzwrite)(I,B,tr),Module._xmlUCSIsCatNd=I=>(Module._xmlUCSIsCatNd=wasmExports.xmlUCSIsCatNd)(I),Module._xmlUCSIsCatP=I=>(Module._xmlUCSIsCatP=wasmExports.xmlUCSIsCatP)(I),Module._xmlUCSIsCatZ=I=>(Module._xmlUCSIsCatZ=wasmExports.xmlUCSIsCatZ)(I),Module._xmlUCSIsCatC=I=>(Module._xmlUCSIsCatC=wasmExports.xmlUCSIsCatC)(I),Module._xmlUCSIsCatL=I=>(Module._xmlUCSIsCatL=wasmExports.xmlUCSIsCatL)(I),Module._xmlUCSIsCatLu=I=>(Module._xmlUCSIsCatLu=wasmExports.xmlUCSIsCatLu)(I),Module._xmlUCSIsCatLl=I=>(Module._xmlUCSIsCatLl=wasmExports.xmlUCSIsCatLl)(I),Module._xmlUCSIsCatLt=I=>(Module._xmlUCSIsCatLt=wasmExports.xmlUCSIsCatLt)(I),Module._xmlUCSIsCatLm=I=>(Module._xmlUCSIsCatLm=wasmExports.xmlUCSIsCatLm)(I),Module._xmlUCSIsCatLo=I=>(Module._xmlUCSIsCatLo=wasmExports.xmlUCSIsCatLo)(I),Module._xmlUCSIsCatM=I=>(Module._xmlUCSIsCatM=wasmExports.xmlUCSIsCatM)(I),Module._xmlUCSIsCatMn=I=>(Module._xmlUCSIsCatMn=wasmExports.xmlUCSIsCatMn)(I),Module._xmlUCSIsCatMc=I=>(Module._xmlUCSIsCatMc=wasmExports.xmlUCSIsCatMc)(I),Module._xmlUCSIsCatMe=I=>(Module._xmlUCSIsCatMe=wasmExports.xmlUCSIsCatMe)(I),Module._xmlUCSIsCatN=I=>(Module._xmlUCSIsCatN=wasmExports.xmlUCSIsCatN)(I),Module._xmlUCSIsCatNl=I=>(Module._xmlUCSIsCatNl=wasmExports.xmlUCSIsCatNl)(I),Module._xmlUCSIsCatNo=I=>(Module._xmlUCSIsCatNo=wasmExports.xmlUCSIsCatNo)(I),Module._xmlUCSIsCatPc=I=>(Module._xmlUCSIsCatPc=wasmExports.xmlUCSIsCatPc)(I),Module._xmlUCSIsCatPd=I=>(Module._xmlUCSIsCatPd=wasmExports.xmlUCSIsCatPd)(I),Module._xmlUCSIsCatPs=I=>(Module._xmlUCSIsCatPs=wasmExports.xmlUCSIsCatPs)(I),Module._xmlUCSIsCatPe=I=>(Module._xmlUCSIsCatPe=wasmExports.xmlUCSIsCatPe)(I),Module._xmlUCSIsCatPi=I=>(Module._xmlUCSIsCatPi=wasmExports.xmlUCSIsCatPi)(I),Module._xmlUCSIsCatPf=I=>(Module._xmlUCSIsCatPf=wasmExports.xmlUCSIsCatPf)(I),Module._xmlUCSIsCatPo=I=>(Module._xmlUCSIsCatPo=wasmExports.xmlUCSIsCatPo)(I),Module._xmlUCSIsCatZs=I=>(Module._xmlUCSIsCatZs=wasmExports.xmlUCSIsCatZs)(I),Module._xmlUCSIsCatZl=I=>(Module._xmlUCSIsCatZl=wasmExports.xmlUCSIsCatZl)(I),Module._xmlUCSIsCatZp=I=>(Module._xmlUCSIsCatZp=wasmExports.xmlUCSIsCatZp)(I),Module._xmlUCSIsCatS=I=>(Module._xmlUCSIsCatS=wasmExports.xmlUCSIsCatS)(I),Module._xmlUCSIsCatSm=I=>(Module._xmlUCSIsCatSm=wasmExports.xmlUCSIsCatSm)(I),Module._xmlUCSIsCatSc=I=>(Module._xmlUCSIsCatSc=wasmExports.xmlUCSIsCatSc)(I),Module._xmlUCSIsCatSk=I=>(Module._xmlUCSIsCatSk=wasmExports.xmlUCSIsCatSk)(I),Module._xmlUCSIsCatSo=I=>(Module._xmlUCSIsCatSo=wasmExports.xmlUCSIsCatSo)(I),Module._xmlUCSIsCatCc=I=>(Module._xmlUCSIsCatCc=wasmExports.xmlUCSIsCatCc)(I),Module._xmlUCSIsCatCf=I=>(Module._xmlUCSIsCatCf=wasmExports.xmlUCSIsCatCf)(I),Module._xmlUCSIsCatCo=I=>(Module._xmlUCSIsCatCo=wasmExports.xmlUCSIsCatCo)(I),Module._xmlUCSIsAegeanNumbers=I=>(Module._xmlUCSIsAegeanNumbers=wasmExports.xmlUCSIsAegeanNumbers)(I),Module._xmlUCSIsAlphabeticPresentationForms=I=>(Module._xmlUCSIsAlphabeticPresentationForms=wasmExports.xmlUCSIsAlphabeticPresentationForms)(I),Module._xmlUCSIsArabic=I=>(Module._xmlUCSIsArabic=wasmExports.xmlUCSIsArabic)(I),Module._xmlUCSIsArabicPresentationFormsA=I=>(Module._xmlUCSIsArabicPresentationFormsA=wasmExports.xmlUCSIsArabicPresentationFormsA)(I),Module._xmlUCSIsArabicPresentationFormsB=I=>(Module._xmlUCSIsArabicPresentationFormsB=wasmExports.xmlUCSIsArabicPresentationFormsB)(I),Module._xmlUCSIsArmenian=I=>(Module._xmlUCSIsArmenian=wasmExports.xmlUCSIsArmenian)(I),Module._xmlUCSIsArrows=I=>(Module._xmlUCSIsArrows=wasmExports.xmlUCSIsArrows)(I),Module._xmlUCSIsBasicLatin=I=>(Module._xmlUCSIsBasicLatin=wasmExports.xmlUCSIsBasicLatin)(I),Module._xmlUCSIsBengali=I=>(Module._xmlUCSIsBengali=wasmExports.xmlUCSIsBengali)(I),Module._xmlUCSIsBlockElements=I=>(Module._xmlUCSIsBlockElements=wasmExports.xmlUCSIsBlockElements)(I),Module._xmlUCSIsBopomofo=I=>(Module._xmlUCSIsBopomofo=wasmExports.xmlUCSIsBopomofo)(I),Module._xmlUCSIsBopomofoExtended=I=>(Module._xmlUCSIsBopomofoExtended=wasmExports.xmlUCSIsBopomofoExtended)(I),Module._xmlUCSIsBoxDrawing=I=>(Module._xmlUCSIsBoxDrawing=wasmExports.xmlUCSIsBoxDrawing)(I),Module._xmlUCSIsBraillePatterns=I=>(Module._xmlUCSIsBraillePatterns=wasmExports.xmlUCSIsBraillePatterns)(I),Module._xmlUCSIsBuhid=I=>(Module._xmlUCSIsBuhid=wasmExports.xmlUCSIsBuhid)(I),Module._xmlUCSIsByzantineMusicalSymbols=I=>(Module._xmlUCSIsByzantineMusicalSymbols=wasmExports.xmlUCSIsByzantineMusicalSymbols)(I),Module._xmlUCSIsCJKCompatibility=I=>(Module._xmlUCSIsCJKCompatibility=wasmExports.xmlUCSIsCJKCompatibility)(I),Module._xmlUCSIsCJKCompatibilityForms=I=>(Module._xmlUCSIsCJKCompatibilityForms=wasmExports.xmlUCSIsCJKCompatibilityForms)(I),Module._xmlUCSIsCJKCompatibilityIdeographs=I=>(Module._xmlUCSIsCJKCompatibilityIdeographs=wasmExports.xmlUCSIsCJKCompatibilityIdeographs)(I),Module._xmlUCSIsCJKCompatibilityIdeographsSupplement=I=>(Module._xmlUCSIsCJKCompatibilityIdeographsSupplement=wasmExports.xmlUCSIsCJKCompatibilityIdeographsSupplement)(I),Module._xmlUCSIsCJKRadicalsSupplement=I=>(Module._xmlUCSIsCJKRadicalsSupplement=wasmExports.xmlUCSIsCJKRadicalsSupplement)(I),Module._xmlUCSIsCJKSymbolsandPunctuation=I=>(Module._xmlUCSIsCJKSymbolsandPunctuation=wasmExports.xmlUCSIsCJKSymbolsandPunctuation)(I),Module._xmlUCSIsCJKUnifiedIdeographs=I=>(Module._xmlUCSIsCJKUnifiedIdeographs=wasmExports.xmlUCSIsCJKUnifiedIdeographs)(I),Module._xmlUCSIsCJKUnifiedIdeographsExtensionA=I=>(Module._xmlUCSIsCJKUnifiedIdeographsExtensionA=wasmExports.xmlUCSIsCJKUnifiedIdeographsExtensionA)(I),Module._xmlUCSIsCJKUnifiedIdeographsExtensionB=I=>(Module._xmlUCSIsCJKUnifiedIdeographsExtensionB=wasmExports.xmlUCSIsCJKUnifiedIdeographsExtensionB)(I),Module._xmlUCSIsCherokee=I=>(Module._xmlUCSIsCherokee=wasmExports.xmlUCSIsCherokee)(I),Module._xmlUCSIsCombiningDiacriticalMarks=I=>(Module._xmlUCSIsCombiningDiacriticalMarks=wasmExports.xmlUCSIsCombiningDiacriticalMarks)(I),Module._xmlUCSIsCombiningDiacriticalMarksforSymbols=I=>(Module._xmlUCSIsCombiningDiacriticalMarksforSymbols=wasmExports.xmlUCSIsCombiningDiacriticalMarksforSymbols)(I),Module._xmlUCSIsCombiningHalfMarks=I=>(Module._xmlUCSIsCombiningHalfMarks=wasmExports.xmlUCSIsCombiningHalfMarks)(I),Module._xmlUCSIsCombiningMarksforSymbols=I=>(Module._xmlUCSIsCombiningMarksforSymbols=wasmExports.xmlUCSIsCombiningMarksforSymbols)(I),Module._xmlUCSIsControlPictures=I=>(Module._xmlUCSIsControlPictures=wasmExports.xmlUCSIsControlPictures)(I),Module._xmlUCSIsCurrencySymbols=I=>(Module._xmlUCSIsCurrencySymbols=wasmExports.xmlUCSIsCurrencySymbols)(I),Module._xmlUCSIsCypriotSyllabary=I=>(Module._xmlUCSIsCypriotSyllabary=wasmExports.xmlUCSIsCypriotSyllabary)(I),Module._xmlUCSIsCyrillic=I=>(Module._xmlUCSIsCyrillic=wasmExports.xmlUCSIsCyrillic)(I),Module._xmlUCSIsCyrillicSupplement=I=>(Module._xmlUCSIsCyrillicSupplement=wasmExports.xmlUCSIsCyrillicSupplement)(I),Module._xmlUCSIsDeseret=I=>(Module._xmlUCSIsDeseret=wasmExports.xmlUCSIsDeseret)(I),Module._xmlUCSIsDevanagari=I=>(Module._xmlUCSIsDevanagari=wasmExports.xmlUCSIsDevanagari)(I),Module._xmlUCSIsDingbats=I=>(Module._xmlUCSIsDingbats=wasmExports.xmlUCSIsDingbats)(I),Module._xmlUCSIsEnclosedAlphanumerics=I=>(Module._xmlUCSIsEnclosedAlphanumerics=wasmExports.xmlUCSIsEnclosedAlphanumerics)(I),Module._xmlUCSIsEnclosedCJKLettersandMonths=I=>(Module._xmlUCSIsEnclosedCJKLettersandMonths=wasmExports.xmlUCSIsEnclosedCJKLettersandMonths)(I),Module._xmlUCSIsEthiopic=I=>(Module._xmlUCSIsEthiopic=wasmExports.xmlUCSIsEthiopic)(I),Module._xmlUCSIsGeneralPunctuation=I=>(Module._xmlUCSIsGeneralPunctuation=wasmExports.xmlUCSIsGeneralPunctuation)(I),Module._xmlUCSIsGeometricShapes=I=>(Module._xmlUCSIsGeometricShapes=wasmExports.xmlUCSIsGeometricShapes)(I),Module._xmlUCSIsGeorgian=I=>(Module._xmlUCSIsGeorgian=wasmExports.xmlUCSIsGeorgian)(I),Module._xmlUCSIsGothic=I=>(Module._xmlUCSIsGothic=wasmExports.xmlUCSIsGothic)(I),Module._xmlUCSIsGreek=I=>(Module._xmlUCSIsGreek=wasmExports.xmlUCSIsGreek)(I),Module._xmlUCSIsGreekExtended=I=>(Module._xmlUCSIsGreekExtended=wasmExports.xmlUCSIsGreekExtended)(I),Module._xmlUCSIsGreekandCoptic=I=>(Module._xmlUCSIsGreekandCoptic=wasmExports.xmlUCSIsGreekandCoptic)(I),Module._xmlUCSIsGujarati=I=>(Module._xmlUCSIsGujarati=wasmExports.xmlUCSIsGujarati)(I),Module._xmlUCSIsGurmukhi=I=>(Module._xmlUCSIsGurmukhi=wasmExports.xmlUCSIsGurmukhi)(I),Module._xmlUCSIsHalfwidthandFullwidthForms=I=>(Module._xmlUCSIsHalfwidthandFullwidthForms=wasmExports.xmlUCSIsHalfwidthandFullwidthForms)(I),Module._xmlUCSIsHangulCompatibilityJamo=I=>(Module._xmlUCSIsHangulCompatibilityJamo=wasmExports.xmlUCSIsHangulCompatibilityJamo)(I),Module._xmlUCSIsHangulJamo=I=>(Module._xmlUCSIsHangulJamo=wasmExports.xmlUCSIsHangulJamo)(I),Module._xmlUCSIsHangulSyllables=I=>(Module._xmlUCSIsHangulSyllables=wasmExports.xmlUCSIsHangulSyllables)(I),Module._xmlUCSIsHanunoo=I=>(Module._xmlUCSIsHanunoo=wasmExports.xmlUCSIsHanunoo)(I),Module._xmlUCSIsHebrew=I=>(Module._xmlUCSIsHebrew=wasmExports.xmlUCSIsHebrew)(I),Module._xmlUCSIsHighPrivateUseSurrogates=I=>(Module._xmlUCSIsHighPrivateUseSurrogates=wasmExports.xmlUCSIsHighPrivateUseSurrogates)(I),Module._xmlUCSIsHighSurrogates=I=>(Module._xmlUCSIsHighSurrogates=wasmExports.xmlUCSIsHighSurrogates)(I),Module._xmlUCSIsHiragana=I=>(Module._xmlUCSIsHiragana=wasmExports.xmlUCSIsHiragana)(I),Module._xmlUCSIsIPAExtensions=I=>(Module._xmlUCSIsIPAExtensions=wasmExports.xmlUCSIsIPAExtensions)(I),Module._xmlUCSIsIdeographicDescriptionCharacters=I=>(Module._xmlUCSIsIdeographicDescriptionCharacters=wasmExports.xmlUCSIsIdeographicDescriptionCharacters)(I),Module._xmlUCSIsKanbun=I=>(Module._xmlUCSIsKanbun=wasmExports.xmlUCSIsKanbun)(I),Module._xmlUCSIsKangxiRadicals=I=>(Module._xmlUCSIsKangxiRadicals=wasmExports.xmlUCSIsKangxiRadicals)(I),Module._xmlUCSIsKannada=I=>(Module._xmlUCSIsKannada=wasmExports.xmlUCSIsKannada)(I),Module._xmlUCSIsKatakana=I=>(Module._xmlUCSIsKatakana=wasmExports.xmlUCSIsKatakana)(I),Module._xmlUCSIsKatakanaPhoneticExtensions=I=>(Module._xmlUCSIsKatakanaPhoneticExtensions=wasmExports.xmlUCSIsKatakanaPhoneticExtensions)(I),Module._xmlUCSIsKhmer=I=>(Module._xmlUCSIsKhmer=wasmExports.xmlUCSIsKhmer)(I),Module._xmlUCSIsKhmerSymbols=I=>(Module._xmlUCSIsKhmerSymbols=wasmExports.xmlUCSIsKhmerSymbols)(I),Module._xmlUCSIsLao=I=>(Module._xmlUCSIsLao=wasmExports.xmlUCSIsLao)(I),Module._xmlUCSIsLatin1Supplement=I=>(Module._xmlUCSIsLatin1Supplement=wasmExports.xmlUCSIsLatin1Supplement)(I),Module._xmlUCSIsLatinExtendedA=I=>(Module._xmlUCSIsLatinExtendedA=wasmExports.xmlUCSIsLatinExtendedA)(I),Module._xmlUCSIsLatinExtendedB=I=>(Module._xmlUCSIsLatinExtendedB=wasmExports.xmlUCSIsLatinExtendedB)(I),Module._xmlUCSIsLatinExtendedAdditional=I=>(Module._xmlUCSIsLatinExtendedAdditional=wasmExports.xmlUCSIsLatinExtendedAdditional)(I),Module._xmlUCSIsLetterlikeSymbols=I=>(Module._xmlUCSIsLetterlikeSymbols=wasmExports.xmlUCSIsLetterlikeSymbols)(I),Module._xmlUCSIsLimbu=I=>(Module._xmlUCSIsLimbu=wasmExports.xmlUCSIsLimbu)(I),Module._xmlUCSIsLinearBIdeograms=I=>(Module._xmlUCSIsLinearBIdeograms=wasmExports.xmlUCSIsLinearBIdeograms)(I),Module._xmlUCSIsLinearBSyllabary=I=>(Module._xmlUCSIsLinearBSyllabary=wasmExports.xmlUCSIsLinearBSyllabary)(I),Module._xmlUCSIsLowSurrogates=I=>(Module._xmlUCSIsLowSurrogates=wasmExports.xmlUCSIsLowSurrogates)(I),Module._xmlUCSIsMalayalam=I=>(Module._xmlUCSIsMalayalam=wasmExports.xmlUCSIsMalayalam)(I),Module._xmlUCSIsMathematicalAlphanumericSymbols=I=>(Module._xmlUCSIsMathematicalAlphanumericSymbols=wasmExports.xmlUCSIsMathematicalAlphanumericSymbols)(I),Module._xmlUCSIsMathematicalOperators=I=>(Module._xmlUCSIsMathematicalOperators=wasmExports.xmlUCSIsMathematicalOperators)(I),Module._xmlUCSIsMiscellaneousMathematicalSymbolsA=I=>(Module._xmlUCSIsMiscellaneousMathematicalSymbolsA=wasmExports.xmlUCSIsMiscellaneousMathematicalSymbolsA)(I),Module._xmlUCSIsMiscellaneousMathematicalSymbolsB=I=>(Module._xmlUCSIsMiscellaneousMathematicalSymbolsB=wasmExports.xmlUCSIsMiscellaneousMathematicalSymbolsB)(I),Module._xmlUCSIsMiscellaneousSymbols=I=>(Module._xmlUCSIsMiscellaneousSymbols=wasmExports.xmlUCSIsMiscellaneousSymbols)(I),Module._xmlUCSIsMiscellaneousSymbolsandArrows=I=>(Module._xmlUCSIsMiscellaneousSymbolsandArrows=wasmExports.xmlUCSIsMiscellaneousSymbolsandArrows)(I),Module._xmlUCSIsMiscellaneousTechnical=I=>(Module._xmlUCSIsMiscellaneousTechnical=wasmExports.xmlUCSIsMiscellaneousTechnical)(I),Module._xmlUCSIsMongolian=I=>(Module._xmlUCSIsMongolian=wasmExports.xmlUCSIsMongolian)(I),Module._xmlUCSIsMusicalSymbols=I=>(Module._xmlUCSIsMusicalSymbols=wasmExports.xmlUCSIsMusicalSymbols)(I),Module._xmlUCSIsMyanmar=I=>(Module._xmlUCSIsMyanmar=wasmExports.xmlUCSIsMyanmar)(I),Module._xmlUCSIsNumberForms=I=>(Module._xmlUCSIsNumberForms=wasmExports.xmlUCSIsNumberForms)(I),Module._xmlUCSIsOgham=I=>(Module._xmlUCSIsOgham=wasmExports.xmlUCSIsOgham)(I),Module._xmlUCSIsOldItalic=I=>(Module._xmlUCSIsOldItalic=wasmExports.xmlUCSIsOldItalic)(I),Module._xmlUCSIsOpticalCharacterRecognition=I=>(Module._xmlUCSIsOpticalCharacterRecognition=wasmExports.xmlUCSIsOpticalCharacterRecognition)(I),Module._xmlUCSIsOriya=I=>(Module._xmlUCSIsOriya=wasmExports.xmlUCSIsOriya)(I),Module._xmlUCSIsOsmanya=I=>(Module._xmlUCSIsOsmanya=wasmExports.xmlUCSIsOsmanya)(I),Module._xmlUCSIsPhoneticExtensions=I=>(Module._xmlUCSIsPhoneticExtensions=wasmExports.xmlUCSIsPhoneticExtensions)(I),Module._xmlUCSIsPrivateUse=I=>(Module._xmlUCSIsPrivateUse=wasmExports.xmlUCSIsPrivateUse)(I),Module._xmlUCSIsPrivateUseArea=I=>(Module._xmlUCSIsPrivateUseArea=wasmExports.xmlUCSIsPrivateUseArea)(I),Module._xmlUCSIsRunic=I=>(Module._xmlUCSIsRunic=wasmExports.xmlUCSIsRunic)(I),Module._xmlUCSIsShavian=I=>(Module._xmlUCSIsShavian=wasmExports.xmlUCSIsShavian)(I),Module._xmlUCSIsSinhala=I=>(Module._xmlUCSIsSinhala=wasmExports.xmlUCSIsSinhala)(I),Module._xmlUCSIsSmallFormVariants=I=>(Module._xmlUCSIsSmallFormVariants=wasmExports.xmlUCSIsSmallFormVariants)(I),Module._xmlUCSIsSpacingModifierLetters=I=>(Module._xmlUCSIsSpacingModifierLetters=wasmExports.xmlUCSIsSpacingModifierLetters)(I),Module._xmlUCSIsSpecials=I=>(Module._xmlUCSIsSpecials=wasmExports.xmlUCSIsSpecials)(I),Module._xmlUCSIsSuperscriptsandSubscripts=I=>(Module._xmlUCSIsSuperscriptsandSubscripts=wasmExports.xmlUCSIsSuperscriptsandSubscripts)(I),Module._xmlUCSIsSupplementalArrowsA=I=>(Module._xmlUCSIsSupplementalArrowsA=wasmExports.xmlUCSIsSupplementalArrowsA)(I),Module._xmlUCSIsSupplementalArrowsB=I=>(Module._xmlUCSIsSupplementalArrowsB=wasmExports.xmlUCSIsSupplementalArrowsB)(I),Module._xmlUCSIsSupplementalMathematicalOperators=I=>(Module._xmlUCSIsSupplementalMathematicalOperators=wasmExports.xmlUCSIsSupplementalMathematicalOperators)(I),Module._xmlUCSIsSupplementaryPrivateUseAreaA=I=>(Module._xmlUCSIsSupplementaryPrivateUseAreaA=wasmExports.xmlUCSIsSupplementaryPrivateUseAreaA)(I),Module._xmlUCSIsSupplementaryPrivateUseAreaB=I=>(Module._xmlUCSIsSupplementaryPrivateUseAreaB=wasmExports.xmlUCSIsSupplementaryPrivateUseAreaB)(I),Module._xmlUCSIsSyriac=I=>(Module._xmlUCSIsSyriac=wasmExports.xmlUCSIsSyriac)(I),Module._xmlUCSIsTagalog=I=>(Module._xmlUCSIsTagalog=wasmExports.xmlUCSIsTagalog)(I),Module._xmlUCSIsTagbanwa=I=>(Module._xmlUCSIsTagbanwa=wasmExports.xmlUCSIsTagbanwa)(I),Module._xmlUCSIsTags=I=>(Module._xmlUCSIsTags=wasmExports.xmlUCSIsTags)(I),Module._xmlUCSIsTaiLe=I=>(Module._xmlUCSIsTaiLe=wasmExports.xmlUCSIsTaiLe)(I),Module._xmlUCSIsTaiXuanJingSymbols=I=>(Module._xmlUCSIsTaiXuanJingSymbols=wasmExports.xmlUCSIsTaiXuanJingSymbols)(I),Module._xmlUCSIsTamil=I=>(Module._xmlUCSIsTamil=wasmExports.xmlUCSIsTamil)(I),Module._xmlUCSIsTelugu=I=>(Module._xmlUCSIsTelugu=wasmExports.xmlUCSIsTelugu)(I),Module._xmlUCSIsThaana=I=>(Module._xmlUCSIsThaana=wasmExports.xmlUCSIsThaana)(I),Module._xmlUCSIsThai=I=>(Module._xmlUCSIsThai=wasmExports.xmlUCSIsThai)(I),Module._xmlUCSIsTibetan=I=>(Module._xmlUCSIsTibetan=wasmExports.xmlUCSIsTibetan)(I),Module._xmlUCSIsUgaritic=I=>(Module._xmlUCSIsUgaritic=wasmExports.xmlUCSIsUgaritic)(I),Module._xmlUCSIsUnifiedCanadianAboriginalSyllabics=I=>(Module._xmlUCSIsUnifiedCanadianAboriginalSyllabics=wasmExports.xmlUCSIsUnifiedCanadianAboriginalSyllabics)(I),Module._xmlUCSIsVariationSelectors=I=>(Module._xmlUCSIsVariationSelectors=wasmExports.xmlUCSIsVariationSelectors)(I),Module._xmlUCSIsVariationSelectorsSupplement=I=>(Module._xmlUCSIsVariationSelectorsSupplement=wasmExports.xmlUCSIsVariationSelectorsSupplement)(I),Module._xmlUCSIsYiRadicals=I=>(Module._xmlUCSIsYiRadicals=wasmExports.xmlUCSIsYiRadicals)(I),Module._xmlUCSIsYiSyllables=I=>(Module._xmlUCSIsYiSyllables=wasmExports.xmlUCSIsYiSyllables)(I),Module._xmlUCSIsYijingHexagramSymbols=I=>(Module._xmlUCSIsYijingHexagramSymbols=wasmExports.xmlUCSIsYijingHexagramSymbols)(I),Module._xmlUCSIsCatCs=I=>(Module._xmlUCSIsCatCs=wasmExports.xmlUCSIsCatCs)(I),Module.___small_fprintf=(I,B,tr)=>(Module.___small_fprintf=wasmExports.__small_fprintf)(I,B,tr),Module._xmlXPathBooleanFunction=(I,B)=>(Module._xmlXPathBooleanFunction=wasmExports.xmlXPathBooleanFunction)(I,B),Module._xmlXPathCeilingFunction=(I,B)=>(Module._xmlXPathCeilingFunction=wasmExports.xmlXPathCeilingFunction)(I,B),Module._xmlXPathCountFunction=(I,B)=>(Module._xmlXPathCountFunction=wasmExports.xmlXPathCountFunction)(I,B),Module._xmlXPathConcatFunction=(I,B)=>(Module._xmlXPathConcatFunction=wasmExports.xmlXPathConcatFunction)(I,B),Module._xmlXPathContainsFunction=(I,B)=>(Module._xmlXPathContainsFunction=wasmExports.xmlXPathContainsFunction)(I,B),Module._xmlXPathIdFunction=(I,B)=>(Module._xmlXPathIdFunction=wasmExports.xmlXPathIdFunction)(I,B),Module._xmlXPathFalseFunction=(I,B)=>(Module._xmlXPathFalseFunction=wasmExports.xmlXPathFalseFunction)(I,B),Module._xmlXPathFloorFunction=(I,B)=>(Module._xmlXPathFloorFunction=wasmExports.xmlXPathFloorFunction)(I,B),Module._xmlXPathLastFunction=(I,B)=>(Module._xmlXPathLastFunction=wasmExports.xmlXPathLastFunction)(I,B),Module._xmlXPathLangFunction=(I,B)=>(Module._xmlXPathLangFunction=wasmExports.xmlXPathLangFunction)(I,B),Module._xmlXPathLocalNameFunction=(I,B)=>(Module._xmlXPathLocalNameFunction=wasmExports.xmlXPathLocalNameFunction)(I,B),Module._xmlXPathNotFunction=(I,B)=>(Module._xmlXPathNotFunction=wasmExports.xmlXPathNotFunction)(I,B),Module._xmlXPathNamespaceURIFunction=(I,B)=>(Module._xmlXPathNamespaceURIFunction=wasmExports.xmlXPathNamespaceURIFunction)(I,B),Module._xmlXPathNormalizeFunction=(I,B)=>(Module._xmlXPathNormalizeFunction=wasmExports.xmlXPathNormalizeFunction)(I,B),Module._xmlXPathNumberFunction=(I,B)=>(Module._xmlXPathNumberFunction=wasmExports.xmlXPathNumberFunction)(I,B),Module._xmlXPathPositionFunction=(I,B)=>(Module._xmlXPathPositionFunction=wasmExports.xmlXPathPositionFunction)(I,B),Module._xmlXPathRoundFunction=(I,B)=>(Module._xmlXPathRoundFunction=wasmExports.xmlXPathRoundFunction)(I,B),Module._xmlXPathStringFunction=(I,B)=>(Module._xmlXPathStringFunction=wasmExports.xmlXPathStringFunction)(I,B),Module._xmlXPathStringLengthFunction=(I,B)=>(Module._xmlXPathStringLengthFunction=wasmExports.xmlXPathStringLengthFunction)(I,B),Module._xmlXPathStartsWithFunction=(I,B)=>(Module._xmlXPathStartsWithFunction=wasmExports.xmlXPathStartsWithFunction)(I,B),Module._xmlXPathSubstringFunction=(I,B)=>(Module._xmlXPathSubstringFunction=wasmExports.xmlXPathSubstringFunction)(I,B),Module._xmlXPathSubstringBeforeFunction=(I,B)=>(Module._xmlXPathSubstringBeforeFunction=wasmExports.xmlXPathSubstringBeforeFunction)(I,B),Module._xmlXPathSubstringAfterFunction=(I,B)=>(Module._xmlXPathSubstringAfterFunction=wasmExports.xmlXPathSubstringAfterFunction)(I,B),Module._xmlXPathSumFunction=(I,B)=>(Module._xmlXPathSumFunction=wasmExports.xmlXPathSumFunction)(I,B),Module._xmlXPathTrueFunction=(I,B)=>(Module._xmlXPathTrueFunction=wasmExports.xmlXPathTrueFunction)(I,B),Module._xmlXPathTranslateFunction=(I,B)=>(Module._xmlXPathTranslateFunction=wasmExports.xmlXPathTranslateFunction)(I,B),Module._xmlXPathNextSelf=(I,B)=>(Module._xmlXPathNextSelf=wasmExports.xmlXPathNextSelf)(I,B),Module._xmlXPathNextChild=(I,B)=>(Module._xmlXPathNextChild=wasmExports.xmlXPathNextChild)(I,B),Module._xmlXPathNextDescendant=(I,B)=>(Module._xmlXPathNextDescendant=wasmExports.xmlXPathNextDescendant)(I,B),Module._xmlXPathNextDescendantOrSelf=(I,B)=>(Module._xmlXPathNextDescendantOrSelf=wasmExports.xmlXPathNextDescendantOrSelf)(I,B),Module._xmlXPathNextParent=(I,B)=>(Module._xmlXPathNextParent=wasmExports.xmlXPathNextParent)(I,B),Module._xmlXPathNextAncestor=(I,B)=>(Module._xmlXPathNextAncestor=wasmExports.xmlXPathNextAncestor)(I,B),Module._xmlXPathNextAncestorOrSelf=(I,B)=>(Module._xmlXPathNextAncestorOrSelf=wasmExports.xmlXPathNextAncestorOrSelf)(I,B),Module._xmlXPathNextFollowingSibling=(I,B)=>(Module._xmlXPathNextFollowingSibling=wasmExports.xmlXPathNextFollowingSibling)(I,B),Module._xmlXPathNextPrecedingSibling=(I,B)=>(Module._xmlXPathNextPrecedingSibling=wasmExports.xmlXPathNextPrecedingSibling)(I,B),Module._xmlXPathNextFollowing=(I,B)=>(Module._xmlXPathNextFollowing=wasmExports.xmlXPathNextFollowing)(I,B),Module._xmlXPathNextNamespace=(I,B)=>(Module._xmlXPathNextNamespace=wasmExports.xmlXPathNextNamespace)(I,B),Module._xmlXPathNextAttribute=(I,B)=>(Module._xmlXPathNextAttribute=wasmExports.xmlXPathNextAttribute)(I,B),Module._zcalloc=(I,B,tr)=>(Module._zcalloc=wasmExports.zcalloc)(I,B,tr),Module._zcfree=(I,B)=>(Module._zcfree=wasmExports.zcfree)(I,B),Module._strerror=I=>(Module._strerror=wasmExports.strerror)(I);var ___dl_seterr=(I,B)=>(___dl_seterr=wasmExports.__dl_seterr)(I,B);Module._putc=(I,B)=>(Module._putc=wasmExports.putc)(I,B),Module._gmtime=I=>(Module._gmtime=wasmExports.gmtime)(I);var _htonl=I=>(_htonl=wasmExports.htonl)(I),_htons=I=>(_htons=wasmExports.htons)(I);Module._ioctl=(I,B,tr)=>(Module._ioctl=wasmExports.ioctl)(I,B,tr);var _emscripten_builtin_memalign=(I,B)=>(_emscripten_builtin_memalign=wasmExports.emscripten_builtin_memalign)(I,B),_ntohs=I=>(_ntohs=wasmExports.ntohs)(I);Module._srand=I=>(Module._srand=wasmExports.srand)(I),Module._rand=()=>(Module._rand=wasmExports.rand)();var __emscripten_timeout=(I,B)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(I,B);Module.___floatsitf=(I,B)=>(Module.___floatsitf=wasmExports.__floatsitf)(I,B),Module.___multf3=(I,B,tr,rr,ir)=>(Module.___multf3=wasmExports.__multf3)(I,B,tr,rr,ir),Module.___extenddftf2=(I,B)=>(Module.___extenddftf2=wasmExports.__extenddftf2)(I,B),Module.___getf2=(I,B,tr,rr)=>(Module.___getf2=wasmExports.__getf2)(I,B,tr,rr),Module.___subtf3=(I,B,tr,rr,ir)=>(Module.___subtf3=wasmExports.__subtf3)(I,B,tr,rr,ir),Module.___letf2=(I,B,tr,rr)=>(Module.___letf2=wasmExports.__letf2)(I,B,tr,rr),Module.___lttf2=(I,B,tr,rr)=>(Module.___lttf2=wasmExports.__lttf2)(I,B,tr,rr);var _setThrew=(I,B)=>(_setThrew=wasmExports.setThrew)(I,B),__emscripten_tempret_set=I=>(__emscripten_tempret_set=wasmExports._emscripten_tempret_set)(I),__emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports._emscripten_tempret_get)();Module.___fixtfsi=(I,B)=>(Module.___fixtfsi=wasmExports.__fixtfsi)(I,B);var __emscripten_stack_restore=I=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(I),__emscripten_stack_alloc=I=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(I),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)();Module._ScanKeywords=18770052,Module._stderr=18792480,Module._stdout=18792784,Module._TopMemoryContext=18830716,Module._MainLWLockArray=18800668,Module._MyProc=18802328,Module._MyProcPid=18824228,Module._MyLatch=18824260,Module._CurrentMemoryContext=18830712,Module._InterruptPending=18824092,Module._pg_global_prng_state=18936304,Module._CurrentResourceOwner=18830692,Module._InterruptHoldoffCount=18824132,Module._IsUnderPostmaster=18824165,Module._wal_level=18758340,Module._MyDatabaseId=18824148,Module._error_context_stack=18816816,Module._PG_exception_stack=18816820,Module.___THREW__=18950052,Module.___threwValue=18950056,Module._ShmemVariableCache=18849760,Module._shmem_startup_hook=18794508,Module._debug_query_string=18848300,Module._CritSectionCount=18824140,Module._old_snapshot_threshold=18823756,Module._TopTransactionResourceOwner=18830700,Module._LocalBufferBlockPointers=18800556,Module._BufferBlocks=18795304,Module._pgBufferUsage=18813728,Module._GUC_check_errdetail_string=18814680,Module._NBuffers=18690456,Module._BufferDescriptors=18795300,Module._ParallelWorkerNumber=18767008,Module._stdin=18792632,Module._ScanKeywordTokens=17487664,Module._post_parse_analyze_hook=18802584,Module._progname=18848060,Module._DataDir=18824144,Module._MyStartTime=18824232,Module._MyProcPort=18824248,Module._Log_directory=18803120,Module._Log_filename=18803124,Module._ConfigReloadPending=18803272,Module._ShutdownRequestPending=18803276,Module._process_shared_preload_libraries_in_progress=18824080,Module._wal_segment_size=18758360,Module._application_name=18815988,Module._XactIsoLevel=18758700,Module._RmgrTable=18758816,Module._CacheMemoryContext=18830728,Module._TopTransactionContext=18830736,Module._TTSOpsVirtual=18638668,Module._WalReceiverFunctions=18803712,Module._TTSOpsMinimalTuple=18638764,Module._cluster_name=18640444,Module._work_mem=18690432,Module._ClientAuthentication_hook=18804032,Module._cma_rsize=18848108,Module._SOCKET_DATA=18854312,Module._SOCKET_FILE=18854308,Module._TTSOpsHeapTuple=18638716,Module._SnapshotAnyData=18690240,Module._ExecutorStart_hook=18813600,Module._ExecutorRun_hook=18813604,Module._ExecutorFinish_hook=18813608,Module._ExecutorEnd_hook=18813612,Module._SPI_processed=18813624,Module._SPI_tuptable=18813632,Module._SPI_result=18813636,Module._pgWalUsage=18813840,Module._cpu_operator_cost=18638912,Module._planner_hook=18813876,Module._maintenance_work_mem=18690448,Module._max_parallel_maintenance_workers=18690452,Module._cpu_tuple_cost=18638896,Module._seq_page_cost=18638880,Module._check_function_bodies=18640389,Module._quote_all_identifiers=18848065,Module._extra_float_digits=18692128,Module._IntervalStyle=18824172,Module._pg_crc32_table=18115504,Module._oldSnapshotControl=18823760,Module._shmem_request_hook=18824084,Module._DateStyle=18690420,Module._pg_number_of_ones=18433360,Module._xmlStructuredError=18936668,Module._xmlStructuredErrorContext=18936676,Module._xmlGenericErrorContext=18936672,Module._xmlGenericError=18774356,Module._xmlIsBaseCharGroup=18774120,Module._xmlIsDigitGroup=18774152,Module._xmlIsCombiningGroup=18774136,Module._xmlIsExtenderGroup=18774168,Module._xmlFree=18774320,Module._ProcessUtility_hook=18848012,Module._single_mode_feed=18848076,Module._cma_wsize=18848116,Module._check_password_hook=18850784,Module._IDB_STAGE=18854320,Module._IDB_PIPE_FP=18854316,Module._pg_scram_mech=18774064,Module._pg_g_threadlock=18772168,Module._pgresStatus=18773856,Module._xmlIsPubidChar_tab=18433648,Module._xmlGetWarningsDefaultValue=18774348,Module._xmlMalloc=18774324,Module._xmlRealloc=18774332,Module._xmlLastError=18936688,Module._xmlMallocAtomic=18774328,Module._xmlMemStrdup=18774336,Module._xmlBufferAllocScheme=18774340,Module._xmlDefaultBufferSize=18774344,Module._xmlParserDebugEntities=18936628,Module._xmlDoValidityCheckingDefaultValue=18936632,Module._xmlLoadExtDtdDefaultValue=18936636,Module._xmlPedanticParserDefaultValue=18936640,Module._xmlLineNumbersDefaultValue=18936644,Module._xmlKeepBlanksDefaultValue=18774352,Module._xmlSubstituteEntitiesDefaultValue=18936648,Module._xmlRegisterNodeDefaultValue=18936652,Module._xmlDeregisterNodeDefaultValue=18936656,Module._xmlParserInputBufferCreateFilenameValue=18936660,Module._xmlOutputBufferCreateFilenameValue=18936664,Module._xmlIndentTreeOutput=18774360,Module._xmlTreeIndentString=18774364,Module._xmlSaveNoEmptyTags=18936680,Module._xmlDefaultSAXHandler=18774368,Module._xmlDefaultSAXLocator=18774480,Module._xmlParserMaxDepth=18775140,Module._xmlStringText=18435456,Module._xmlStringComment=18435471,Module._xmlStringTextNoenc=18435461,Module._xmlXPathNAN=18937352,Module._xmlXPathNINF=18937368,Module._xmlXPathPINF=18937360,Module._z_errmsg=18791696,Module.__length_code=18455120,Module.__dist_code=18454608;function invoke_i(I){var B=stackSave();try{return getWasmTableEntry(I)()}catch(tr){if(stackRestore(B),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_v(I){var B=stackSave();try{getWasmTableEntry(I)()}catch(tr){if(stackRestore(B),tr!==tr+0)throw tr;_setThrew(1,0)}}function invoke_vi(I,B){var tr=stackSave();try{getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_iii(I,B,tr){var rr=stackSave();try{return getWasmTableEntry(I)(B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_iiiiii(I,B,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_viii(I,B,tr,rr){var ir=stackSave();try{getWasmTableEntry(I)(B,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_viiiiiii(I,B,tr,rr,ir,lr,dr,mr){var _r=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr)}catch(hr){if(stackRestore(_r),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_iiii(I,B,tr,rr){var ir=stackSave();try{return getWasmTableEntry(I)(B,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_viiii(I,B,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_iiiii(I,B,tr,rr,ir){var lr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_vii(I,B,tr){var rr=stackSave();try{getWasmTableEntry(I)(B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_ii(I,B){var tr=stackSave();try{return getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_viiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r){var hr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r)}catch(fr){if(stackRestore(hr),fr!==fr+0)throw fr;_setThrew(1,0)}}function invoke_viiiii(I,B,tr,rr,ir,lr){var dr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_ij(I,B){var tr=stackSave();try{return getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_ji(I,B){var tr=stackSave();try{return getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;return _setThrew(1,0),0n}}function invoke_ijiiiiii(I,B,tr,rr,ir,lr,dr,mr){var _r=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr)}catch(hr){if(stackRestore(_r),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_vij(I,B,tr){var rr=stackSave();try{getWasmTableEntry(I)(B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_vj(I,B){var tr=stackSave();try{getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_viijii(I,B,tr,rr,ir,lr){var dr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_iiiiiji(I,B,tr,rr,ir,lr,dr){var mr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr)}catch(_r){if(stackRestore(mr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_viijiiii(I,B,tr,rr,ir,lr,dr,mr){var _r=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr)}catch(hr){if(stackRestore(_r),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_viij(I,B,tr,rr){var ir=stackSave();try{getWasmTableEntry(I)(B,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_jiiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r){var hr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r)}catch(fr){if(stackRestore(hr),fr!==fr+0)throw fr;return _setThrew(1,0),0n}}function invoke_jiiiii(I,B,tr,rr,ir,lr){var dr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;return _setThrew(1,0),0n}}function invoke_iiiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r){var hr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r)}catch(fr){if(stackRestore(hr),fr!==fr+0)throw fr;_setThrew(1,0)}}function invoke_vji(I,B,tr){var rr=stackSave();try{getWasmTableEntry(I)(B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_iiiijii(I,B,tr,rr,ir,lr,dr){var mr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr)}catch(_r){if(stackRestore(mr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_vijiji(I,B,tr,rr,ir,lr){var dr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr)}catch(mr){if(stackRestore(dr),mr!==mr+0)throw mr;_setThrew(1,0)}}function invoke_viji(I,B,tr,rr){var ir=stackSave();try{getWasmTableEntry(I)(B,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_iiij(I,B,tr,rr){var ir=stackSave();try{return getWasmTableEntry(I)(B,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_iiiiiiii(I,B,tr,rr,ir,lr,dr,mr){var _r=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr)}catch(hr){if(stackRestore(_r),hr!==hr+0)throw hr;_setThrew(1,0)}}function invoke_iiiiiii(I,B,tr,rr,ir,lr,dr){var mr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr)}catch(_r){if(stackRestore(mr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_di(I,B){var tr=stackSave();try{return getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_id(I,B){var tr=stackSave();try{return getWasmTableEntry(I)(B)}catch(rr){if(stackRestore(tr),rr!==rr+0)throw rr;_setThrew(1,0)}}function invoke_ijiiiii(I,B,tr,rr,ir,lr,dr){var mr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr)}catch(_r){if(stackRestore(mr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_jiiii(I,B,tr,rr,ir){var lr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;return _setThrew(1,0),0n}}function invoke_viiiiii(I,B,tr,rr,ir,lr,dr){var mr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr,dr)}catch(_r){if(stackRestore(mr),_r!==_r+0)throw _r;_setThrew(1,0)}}function invoke_viiiiiiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr,xr){var wr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr,xr)}catch(Sr){if(stackRestore(wr),Sr!==Sr+0)throw Sr;_setThrew(1,0)}}function invoke_jii(I,B,tr){var rr=stackSave();try{return getWasmTableEntry(I)(B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;return _setThrew(1,0),0n}}function invoke_iiiij(I,B,tr,rr,ir){var lr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_iiiiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r,hr){var fr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r,hr)}catch(gr){if(stackRestore(fr),gr!==gr+0)throw gr;_setThrew(1,0)}}function invoke_viiji(I,B,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_iiji(I,B,tr,rr){var ir=stackSave();try{return getWasmTableEntry(I)(B,tr,rr)}catch(lr){if(stackRestore(ir),lr!==lr+0)throw lr;_setThrew(1,0)}}function invoke_vid(I,B,tr){var rr=stackSave();try{getWasmTableEntry(I)(B,tr)}catch(ir){if(stackRestore(rr),ir!==ir+0)throw ir;_setThrew(1,0)}}function invoke_viiiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r,hr){var fr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r,hr)}catch(gr){if(stackRestore(fr),gr!==gr+0)throw gr;_setThrew(1,0)}}function invoke_viiij(I,B,tr,rr,ir){var lr=stackSave();try{getWasmTableEntry(I)(B,tr,rr,ir)}catch(dr){if(stackRestore(lr),dr!==dr+0)throw dr;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiii(I,B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr,xr,wr,Sr,vr,Ir){var Mr=stackSave();try{return getWasmTableEntry(I)(B,tr,rr,ir,lr,dr,mr,_r,hr,fr,gr,xr,wr,Sr,vr,Ir)}catch(yr){if(stackRestore(Mr),yr!==yr+0)throw yr;_setThrew(1,0)}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.callMain=callMain,Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToNewUTF8=stringToNewUTF8,Module.stringToUTF8OnStack=stringToUTF8OnStack,Module.FS_createPreloadedFile=FS_createPreloadedFile,Module.FS_unlink=FS_unlink,Module.FS_createPath=FS_createPath,Module.FS_createDevice=FS_createDevice,Module.FS=FS,Module.FS_createDataFile=FS_createDataFile,Module.FS_createLazyFile=FS_createLazyFile;var calledRun;dependenciesFulfilled=function I(){calledRun||run(),calledRun||(dependenciesFulfilled=I)};function callMain(I=[]){var B=resolveGlobalSymbol("main").sym;if(B){I.unshift(thisProgram);var tr=I.length,rr=stackAlloc((tr+1)*4),ir=rr;I.forEach(dr=>{HEAPU32[ir>>2]=stringToUTF8OnStack(dr),ir+=4}),HEAPU32[ir>>2]=0;try{var lr=B(tr,rr);return exitJS(lr,!0),lr}catch(dr){return handleException(dr)}}}function run(I=arguments_){if(runDependencies>0||(preRun(),runDependencies>0))return;function B(){calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized?.(),shouldRunNow&&callMain(I),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),B()},1)):B()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),moduleRtn=readyPromise,moduleRtn}})(),ke=Qe,Te=ke,Y,W,j,J,$,_e,ie,me,Z,ae,oe,se,V,G,k,K,O,qe,re,pe=class as extends z{constructor(B={},tr={}){super(),R$2(this,O),R$2(this,Y,!1),R$2(this,W,!1),R$2(this,j,!1),R$2(this,J,!1),R$2(this,$,!1),R$2(this,_e,new H),R$2(this,ie,new H),R$2(this,me,new H),R$2(this,Z,!1),this.debug=0,R$2(this,ae),R$2(this,oe,[]),R$2(this,se,new ye),R$2(this,V),R$2(this,G),R$2(this,k,new Map),R$2(this,K,new Set),typeof B=="string"?tr={dataDir:B,...tr}:tr=B,this.dataDir=tr.dataDir,tr.parsers!==void 0&&(this.parsers={...this.parsers,...tr.parsers}),tr.serializers!==void 0&&(this.serializers={...this.serializers,...tr.serializers}),tr?.debug!==void 0&&(this.debug=tr.debug),tr?.relaxedDurability!==void 0&&x$2(this,$,tr.relaxedDurability),x$2(this,ae,tr.extensions??{}),this.waitReady=T(this,O,qe).call(this,tr??{})}static async create(B,tr){let rr=typeof B=="string"?{dataDir:B,...tr??{}}:B??{},ir=new as(rr);return await ir.waitReady,ir}get Module(){return this.mod}get ready(){return h$1(this,Y)&&!h$1(this,W)&&!h$1(this,j)}get closed(){return h$1(this,j)}async close(){await this._checkReady(),x$2(this,W,!0);for(let B of h$1(this,oe))await B();try{await this.execProtocol(O$1.end()),this.mod._pg_shutdown()}catch(B){let tr=B;if(!(tr.name==="ExitStatus"&&tr.status===0))throw B}await this.fs.closeFs(),x$2(this,j,!0),x$2(this,W,!1)}async[Symbol.asyncDispose](){await this.close()}async _handleBlob(B){x$2(this,V,B?await B.arrayBuffer():void 0)}async _cleanupBlob(){x$2(this,V,void 0)}async _getWrittenBlob(){if(!h$1(this,G))return;let B=new Blob(h$1(this,G));return x$2(this,G,void 0),B}async _checkReady(){if(h$1(this,W))throw new Error("PGlite is closing");if(h$1(this,j))throw new Error("PGlite is closed");h$1(this,Y)||await this.waitReady}execProtocolRawSync(B){let tr=B.length,rr=this.mod;rr._interactive_write(tr),rr.HEAPU8.set(B,1),rr._interactive_one();let ir=tr+2,lr=ir+rr._interactive_read();return rr.HEAPU8.subarray(ir,lr)}async execProtocolRaw(B,{syncToFs:tr=!0}={}){let rr=B.length,ir=this.mod;ir._interactive_write(rr),ir.HEAPU8.set(B,1),ir._interactive_one();let lr=rr+2,dr=lr+ir._interactive_read(),mr=ir.HEAPU8.subarray(lr,dr);return tr&&await this.syncToFs(),mr}async execProtocol(B,{syncToFs:tr=!0,throwOnError:rr=!0,onNotice:ir}={}){let lr=await this.execProtocolRaw(B,{syncToFs:tr}),dr=[];return h$1(this,se).parse(lr,mr=>{if(mr instanceof E){if(x$2(this,se,new ye),rr)throw mr}else if(mr instanceof ne)this.debug>0&&console.warn(mr),ir&&ir(mr);else if(mr instanceof ee$1)switch(mr.text){case"BEGIN":x$2(this,J,!0);break;case"COMMIT":case"ROLLBACK":x$2(this,J,!1);break}else if(mr instanceof X){let _r=h$1(this,k).get(mr.channel);_r&&_r.forEach(hr=>{queueMicrotask(()=>hr(mr.payload))}),h$1(this,K).forEach(hr=>{queueMicrotask(()=>hr(mr.channel,mr.payload))})}dr.push(mr)}),{messages:dr,data:lr}}isInTransaction(){return h$1(this,J)}async syncToFs(){if(h$1(this,Z))return;x$2(this,Z,!0);let B=async()=>{await h$1(this,me).runExclusive(async()=>{x$2(this,Z,!1),await this.fs.syncToFs(h$1(this,$))})};h$1(this,$)?B():await B()}async listen(B,tr){let rr=Nr(B);h$1(this,k).has(rr)||h$1(this,k).set(rr,new Set),h$1(this,k).get(rr).add(tr);try{await this.exec(`LISTEN ${B}`)}catch(ir){throw h$1(this,k).get(rr).delete(tr),h$1(this,k).get(rr)?.size===0&&h$1(this,k).delete(rr),ir}return async()=>{await this.unlisten(rr,tr)}}async unlisten(B,tr){let rr=Nr(B);tr?(h$1(this,k).get(rr)?.delete(tr),h$1(this,k).get(rr)?.size===0&&(await this.exec(`UNLISTEN ${B}`),h$1(this,k).delete(rr))):(await this.exec(`UNLISTEN ${B}`),h$1(this,k).delete(rr))}onNotification(B){return h$1(this,K).add(B),()=>{h$1(this,K).delete(B)}}offNotification(B){h$1(this,K).delete(B)}async dumpDataDir(B){let tr=this.dataDir?.split("/").pop()??"pgdata";return this.fs.dumpTar(tr,B)}_runExclusiveQuery(B){return h$1(this,_e).runExclusive(B)}_runExclusiveTransaction(B){return h$1(this,ie).runExclusive(B)}async clone(){let B=await this.dumpDataDir("none");return new as({loadDataDir:B})}};Y=new WeakMap,W=new WeakMap,j=new WeakMap,J=new WeakMap,$=new WeakMap,_e=new WeakMap,ie=new WeakMap,me=new WeakMap,Z=new WeakMap,ae=new WeakMap,oe=new WeakMap,se=new WeakMap,V=new WeakMap,G=new WeakMap,k=new WeakMap,K=new WeakMap,O=new WeakSet,qe=async function(I){if(I.fs)this.fs=I.fs;else{let{dataDir:hr,fsType:fr}=Fe(I.dataDir);this.fs=await Ae(hr,fr)}let B={},tr=[],rr=[`PGDATA=${C}`,`PREFIX=${Vr}`,`PGUSER=${I.username??"postgres"}`,`PGDATABASE=${I.database??"template1"}`,"MODE=REACT","REPL=N",...this.debug?["-d",this.debug.toString()]:[]];I.wasmModule||Rr();let ir=I.fsBundle?I.fsBundle.arrayBuffer():Er(),lr;ir.then(hr=>{lr=hr});let dr={WASM_PREFIX:Vr,arguments:rr,INITIAL_MEMORY:I.initialMemory,noExitRuntime:!0,...this.debug>0?{print:console.info,printErr:console.error}:{print:()=>{},printErr:()=>{}},instantiateWasm:(hr,fr)=>(Tr(hr,I.wasmModule).then(({instance:gr,module:xr})=>{fr(gr,xr)}),{}),getPreloadedPackage:(hr,fr)=>{if(hr==="postgres.data"){if(lr.byteLength!==fr)throw new Error(`Invalid FS bundle size: ${lr.byteLength} !== ${fr}`);return lr}throw new Error(`Unknown package: ${hr}`)},preRun:[hr=>{let fr=hr.FS.makedev(64,0),gr={open:xr=>{},close:xr=>{},read:(xr,wr,Sr,vr,Ir)=>{let Mr=h$1(this,V);if(!Mr)throw new Error("No /dev/blob File or Blob provided to read from");let yr=new Uint8Array(Mr);if(Ir>=yr.length)return 0;let br=Math.min(yr.length-Ir,vr);for(let Cr=0;Cr<br;Cr++)wr[Sr+Cr]=yr[Ir+Cr];return br},write:(xr,wr,Sr,vr,Ir)=>(h$1(this,G)??x$2(this,G,[]),h$1(this,G).push(wr.slice(Sr,Sr+vr)),vr),llseek:(xr,wr,Sr)=>{let vr=h$1(this,V);if(!vr)throw new Error("No /dev/blob File or Blob provided to llseek");let Ir=wr;if(Sr===1?Ir+=xr.position:Sr===2&&(Ir=new Uint8Array(vr).length),Ir<0)throw new hr.FS.ErrnoError(28);return Ir}};hr.FS.registerDevice(fr,gr),hr.FS.mkdev("/dev/blob",fr)}]},{emscriptenOpts:mr}=await this.fs.init(this,dr);dr=mr;for(let[hr,fr]of Object.entries(h$1(this,ae)))if(fr instanceof URL)B[hr]=ge(fr);else{let gr=await fr.setup(this,dr);if(gr.emscriptenOpts&&(dr=gr.emscriptenOpts),gr.namespaceObj){let xr=this;xr[hr]=gr.namespaceObj}gr.bundlePath&&(B[hr]=ge(gr.bundlePath)),gr.init&&tr.push(gr.init),gr.close&&h$1(this,oe).push(gr.close)}if(dr.pg_extensions=B,await ir,this.mod=await Te(dr),await this.fs.initialSyncFs(),I.loadDataDir){if(this.mod.FS.analyzePath(C+"/PG_VERSION").exists)throw new Error("Database already exists, cannot load from tarball");T(this,O,re).call(this,"pglite: loading data from tarball"),await ce$1(this.mod.FS,I.loadDataDir,C)}this.mod.FS.analyzePath(C+"/PG_VERSION").exists?T(this,O,re).call(this,"pglite: found DB, resuming"):T(this,O,re).call(this,"pglite: no db"),await Pe(this.mod,(...hr)=>T(this,O,re).call(this,...hr));let _r=this.mod._pg_initdb();if(!_r)throw new Error("INITDB failed to return value");if(_r&1)throw new Error("INITDB failed");if(_r&2){let hr=I.username??"postgres",fr=I.database??"template1";if(_r&4){if(!(_r&12))throw new Error("Invalid db/user combination")}else if(fr!=="template1"&&hr!=="postgres")throw new Error("INITDB created a new datadir, but an alternative db/user was requested")}await this.syncToFs(),x$2(this,Y,!0),await this.exec("SET search_path TO public;"),await this._initArrayTypes();for(let hr of tr)await hr()},re=function(...I){this.debug>0&&console.log(...I)};var Ue=pe;u$1();function validateBatchRequest(I){const B=new Set;for(const lr of I){if(B.has(lr.key))throw new Error(`Duplicate plan key: ${lr.key}`);B.add(lr.key)}for(const lr of I)for(const dr of lr.dependsOn)if(!B.has(dr))throw new Error(`Job '${lr.key}' depends on non-existent key: ${dr}`);const tr=new Set,rr=new Set,ir=lr=>{tr.add(lr),rr.add(lr);const dr=I.find(mr=>mr.key===lr);if(dr){for(const mr of dr.dependsOn)if(tr.has(mr)){if(rr.has(mr))return!0}else if(ir(mr))return!0}return rr.delete(lr),!1};for(const lr of I)if(!tr.has(lr.key)&&ir(lr.key))throw new Error(`Dependency cycle detected involving key: ${lr.key}`);for(const lr of I)if(lr.actions.length===0)throw new Error(`Job '${lr.key}' has empty actions array`)}function validateActionScopes(I){for(const B of I.actions){const tr=B.scope||"global";if(tr!==I.scope)throw new Error(`Job '${I.key}' declares scope '${I.scope}' but action has scope '${tr}'`)}}function topologicalSort(I){const B=[],tr=new Set,rr=ir=>{if(tr.has(ir))return;tr.add(ir);const lr=I.find(dr=>dr.key===ir);if(lr)for(const dr of lr.dependsOn)rr(dr);B.push(ir)};for(const ir of I)rr(ir.key);return B}function toErrorInfo(I){return I instanceof Error?{message:I.message,stack:I.stack||new Error().stack||""}:{message:I,stack:new Error().stack||""}}function filterByType(I,B){return{results:I.results.filter(rr=>rr.header.documentType===B),options:I.options,nextCursor:I.nextCursor,next:I.next?async()=>{const rr=await I.next();return filterByType(rr,B)}:void 0}}function getSharedScope(I){if(I.length===0)throw new Error("No operations provided");const B=I[0].action.scope;for(const[tr,rr]of I.entries()){const ir=rr.action.scope;if(ir!==B)throw new Error(`All operations in load must share the same scope. Expected '${B}', received '${ir}' at position ${tr}`)}return B}const signAction=async(I,B,tr)=>{const rr=await B.sign(I,tr);return{...I,context:{...I.context,signer:{user:{address:rr[0],networkId:"",chainId:0},app:{name:"",key:""},signatures:[rr]}}}},signActions=async(I,B,tr)=>Promise.all(I.map(rr=>signAction(rr,B,tr)));class EventBusAggregateError extends Error{errors;constructor(B){const tr=`EventBus emit failed with ${B.length} error(s): ${B.map(rr=>rr&&typeof rr=="object"&&"message"in rr?rr.message:String(rr)).join("; ")}`;super(tr),this.name="EventBusAggregateError",this.errors=B}}const OperationEventTypes={OPERATION_WRITTEN:10001,OPERATIONS_READY:10002,JOB_FAILED:10003};var PropagationMode;(function(I){I.None="none",I.Cascade="cascade"})(PropagationMode||(PropagationMode={}));var RelationshipChangeType;(function(I){I.Added="added",I.Removed="removed"})(RelationshipChangeType||(RelationshipChangeType={}));var JobStatus;(function(I){I.PENDING="PENDING",I.RUNNING="RUNNING",I.WRITE_COMPLETED="WRITE_COMPLETED",I.READ_MODELS_READY="READ_MODELS_READY",I.FAILED="FAILED"})(JobStatus||(JobStatus={}));function isTerminalStatus(I){return I===JobStatus.READ_MODELS_READY||I===JobStatus.FAILED}class JobAwaiter{eventBus;getJobStatus;pendingJobs=new Map;unsubscribers=[];constructor(B,tr){this.eventBus=B,this.getJobStatus=tr,this.subscribeToEvents()}subscribeToEvents(){this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN,async(B,tr)=>{await this.handleOperationWritten(tr)})),this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATIONS_READY,async(B,tr)=>{await this.handleOperationsReady(tr)})),this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.JOB_FAILED,async(B,tr)=>{await this.handleJobFailed(tr)}))}shutdown(){for(const B of this.unsubscribers)B();this.unsubscribers=[];for(const[,B]of this.pendingJobs)for(const tr of B)tr.reject(new Error("JobAwaiter destroyed"));this.pendingJobs.clear()}async waitForJob(B,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=await this.getJobStatus(B,tr);return isTerminalStatus(rr.status)?rr:new Promise((lr,dr)=>{const mr={resolve:lr,reject:dr,signal:tr},_r=this.pendingJobs.get(B)||[];if(_r.push(mr),this.pendingJobs.set(B,_r),tr){const hr=()=>{const fr=this.pendingJobs.get(B);if(fr){const gr=fr.indexOf(mr);gr!==-1&&(fr.splice(gr,1),fr.length===0&&this.pendingJobs.delete(B),mr.reject(new Error("Operation aborted")))}};tr.addEventListener("abort",hr,{once:!0})}})}async handleOperationWritten(B){const tr=B.jobId;await this.checkAndResolveWaiters(tr)}async handleOperationsReady(B){const tr=B.jobId;await this.checkAndResolveWaiters(tr)}async handleJobFailed(B){await this.checkAndResolveWaiters(B.jobId)}async checkAndResolveWaiters(B){const tr=this.pendingJobs.get(B);if(!(!tr||tr.length===0))try{const rr=tr.filter(lr=>!lr.signal?.aborted);if(rr.length===0){this.pendingJobs.delete(B);return}const ir=await this.getJobStatus(B,rr[0].signal);if(isTerminalStatus(ir.status)){this.pendingJobs.delete(B);for(const lr of rr)lr.resolve(ir);for(const lr of tr)lr.signal?.aborted&&lr.reject(new Error("Operation aborted"))}}catch(rr){this.pendingJobs.delete(B);for(const ir of tr)ir.reject(rr instanceof Error?rr:new Error(String(rr)))}}}var DocumentChangeType;(function(I){I.Created="created",I.Deleted="deleted",I.Updated="updated",I.ParentAdded="parent_added",I.ParentRemoved="parent_removed",I.ChildAdded="child_added",I.ChildRemoved="child_removed"})(DocumentChangeType||(DocumentChangeType={}));class ReactorClient{reactor;signer;subscriptionManager;jobAwaiter;documentIndexer;constructor(B,tr,rr,ir,lr){this.reactor=B,this.signer=tr,this.subscriptionManager=rr,this.jobAwaiter=ir,this.documentIndexer=lr}async getDocumentModels(B,tr,rr){return this.reactor.getDocumentModels(B,tr,rr)}async get(B,tr,rr){return await this.reactor.getByIdOrSlug(B,tr,void 0,rr)}async getChildren(B,tr,rr,ir){const dr=(await this.reactor.getByIdOrSlug(B,tr,void 0,ir)).document.header.id,_r=(await this.documentIndexer.getOutgoing(dr,void 0,void 0,ir)).map(hr=>hr.targetId);return _r.length===0?{results:[],options:rr||{cursor:"0",limit:0}}:this.reactor.find({ids:_r},tr,rr,void 0,ir)}async getParents(B,tr,rr,ir){const dr=(await this.reactor.getByIdOrSlug(B,tr,void 0,ir)).document.header.id,_r=(await this.documentIndexer.getIncoming(dr,void 0,void 0,ir)).map(hr=>hr.sourceId);return _r.length===0?{results:[],options:rr||{cursor:"0",limit:0}}:this.reactor.find({ids:_r},tr,rr,void 0,ir)}async find(B,tr,rr,ir){return this.reactor.find(B,tr,rr,void 0,ir)}async create(B,tr,rr){const ir=await this.reactor.create(B,this.signer,rr),lr=await this.waitForJob(ir,rr),dr=B.header.id,mr=await this.reactor.get(dr,void 0,lr.consistencyToken,rr);return tr&&await this.addChildren(tr,[dr],void 0,rr),mr.document}async createEmpty(B,tr,rr){const lr=(await this.reactor.getDocumentModels(void 0,void 0,rr)).results.find(mr=>mr.documentModel.global.id===B);if(!lr)throw new Error(`Document model not found for type: ${B}`);const dr=lr.utils.createDocument();return this.create(dr,tr,rr)}async execute(B,tr,rr,ir){const lr=await signActions(rr,this.signer,ir),dr=await this.reactor.execute(B,tr,lr,ir),mr=await this.waitForJob(dr,ir),_r={branch:tr};return(await this.reactor.getByIdOrSlug(B,_r,mr.consistencyToken,ir)).document}async executeAsync(B,tr,rr,ir){const lr=await signActions(rr,this.signer,ir);return this.reactor.execute(B,tr,lr,ir)}async rename(B,tr,rr="main",ir){return this.execute(B,rr,[actions.setName(tr)],ir)}async addChildren(B,tr,rr="main",ir){const lr=await this.reactor.addChildren(B,tr,rr,this.signer,ir),dr=await this.waitForJob(lr,ir);return(await this.reactor.getByIdOrSlug(B,{branch:rr},dr.consistencyToken,ir)).document}async removeChildren(B,tr,rr="main",ir){const lr=await this.reactor.removeChildren(B,tr,rr,this.signer,ir),dr=await this.waitForJob(lr,ir);return(await this.reactor.getByIdOrSlug(B,{branch:rr},dr.consistencyToken,ir)).document}async moveChildren(B,tr,rr,ir="main",lr){const dr=await this.reactor.removeChildren(B,rr,ir,this.signer,lr),mr=await this.waitForJob(dr,lr),_r=await this.reactor.addChildren(tr,rr,ir,this.signer,lr),hr=await this.waitForJob(_r,lr),fr=await this.reactor.getByIdOrSlug(B,{branch:ir},mr.consistencyToken,lr),gr=await this.reactor.getByIdOrSlug(tr,{branch:ir},hr.consistencyToken,lr);return{source:fr.document,target:gr.document}}async deleteDocument(B,tr,rr){const ir=[];if(tr===PropagationMode.Cascade){const dr=[],mr=[B],_r=new Set;for(;mr.length>0;){const hr=mr.shift();if(_r.has(hr))continue;if(_r.add(hr),rr?.aborted)throw new Error("Operation aborted");const fr=await this.documentIndexer.getOutgoing(hr,["child"],void 0,rr);for(const gr of fr)_r.has(gr.targetId)||(dr.push(gr.targetId),mr.push(gr.targetId))}for(const hr of dr){const fr=await this.reactor.deleteDocument(hr,this.signer,rr);ir.push(fr)}}const lr=await this.reactor.deleteDocument(B,this.signer,rr);ir.push(lr),await Promise.all(ir.map(dr=>this.waitForJob(dr,rr)))}async deleteDocuments(B,tr,rr){const ir=B.map(lr=>this.deleteDocument(lr,tr,rr));await Promise.all(ir)}async getJobStatus(B,tr){return this.reactor.getJobStatus(B,tr)}async waitForJob(B,tr){const rr=typeof B=="string"?B:B.id;return this.jobAwaiter.waitForJob(rr,tr)}subscribe(B,tr,rr){const ir=this.subscriptionManager.onDocumentCreated(_r=>{(async()=>{try{const hr=await Promise.all(_r.results.map(fr=>this.reactor.get(fr,rr,void 0,void 0).then(gr=>gr.document)));tr({type:DocumentChangeType.Created,documents:hr})}catch{}})()},B),lr=this.subscriptionManager.onDocumentDeleted(_r=>{tr({type:DocumentChangeType.Deleted,documents:[],context:{childId:_r[0]}})},B),dr=this.subscriptionManager.onDocumentStateUpdated(_r=>{tr({type:DocumentChangeType.Updated,documents:_r.results})},B,rr),mr=this.subscriptionManager.onRelationshipChanged((_r,hr,fr)=>{tr({type:fr===RelationshipChangeType.Added?DocumentChangeType.ChildAdded:DocumentChangeType.ChildRemoved,documents:[],context:{parentId:_r,childId:hr}})},B);return()=>{ir(),lr(),dr(),mr()}}}class KyselyOperationIndexTxn{collections=[];collectionMemberships=[];collectionRemovals=[];operations=[];createCollection(B){this.collections.push(B)}addToCollection(B,tr){const rr=this.operations.length-1;if(rr<0)throw new Error("addToCollection must be called after write() - no operations in transaction");this.collectionMemberships.push({collectionId:B,documentId:tr,operationIndex:rr})}removeFromCollection(B,tr){const rr=this.operations.length-1;if(rr<0)throw new Error("removeFromCollection must be called after write() - no operations in transaction");this.collectionRemovals.push({collectionId:B,documentId:tr,operationIndex:rr})}write(B){this.operations.push(...B)}getCollections(){return this.collections}getCollectionMemberships(){return this.collectionMemberships}getCollectionRemovals(){return this.collectionRemovals}getOperations(){return this.operations}}class KyselyOperationIndex{db;constructor(B){this.db=B}start(){return new KyselyOperationIndexTxn}async commit(B,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=B,ir=rr.getCollections(),lr=rr.getCollectionMemberships(),dr=rr.getCollectionRemovals(),mr=rr.getOperations();await this.db.transaction().execute(async _r=>{if(ir.length>0){const fr=ir.map(gr=>({documentId:gr,collectionId:gr,joinedOrdinal:BigInt(0),leftOrdinal:null}));await _r.insertInto("document_collections").values(fr).onConflict(gr=>gr.doNothing()).execute()}let hr=[];if(mr.length>0){const fr=mr.map(xr=>{const wr=xr.timestampUtcMs;let Sr;return/^\d+$/.test(wr)?Sr=Number(wr):Sr=new Date(wr).getTime(),{opId:xr.id||"",documentId:xr.documentId,documentType:xr.documentType,scope:xr.scope,branch:xr.branch,timestampUtcMs:BigInt(Sr||0),index:xr.index,skip:xr.skip,hash:xr.hash,action:xr.action}});hr=(await _r.insertInto("operation_index_operations").values(fr).returning("ordinal").execute()).map(xr=>xr.ordinal)}if(lr.length>0)for(const fr of lr){const gr=hr[fr.operationIndex];await _r.insertInto("document_collections").values({documentId:fr.documentId,collectionId:fr.collectionId,joinedOrdinal:BigInt(gr),leftOrdinal:null}).onConflict(xr=>xr.columns(["documentId","collectionId"]).doUpdateSet({joinedOrdinal:BigInt(gr),leftOrdinal:null})).execute()}if(dr.length>0)for(const fr of dr){const gr=hr[fr.operationIndex];await _r.updateTable("document_collections").set({leftOrdinal:BigInt(gr)}).where("collectionId","=",fr.collectionId).where("documentId","=",fr.documentId).where("leftOrdinal","is",null).execute()}})}async find(B,tr,rr,ir,lr){if(lr?.aborted)throw new Error("Operation aborted");let dr=this.db.selectFrom("operation_index_operations as oi").innerJoin("document_collections as dc","oi.documentId","dc.documentId").selectAll("oi").select(["dc.documentId","dc.collectionId"]).where("dc.collectionId","=",B).whereRef("oi.ordinal",">=","dc.joinedOrdinal").where(sql`dc."leftOrdinal" IS NULL OR oi.ordinal < dc."leftOrdinal"`).orderBy("oi.ordinal","asc");if(tr!==void 0&&(dr=dr.where("oi.ordinal",">",tr)),rr?.branch&&(dr=dr.where("oi.branch","=",rr.branch)),rr?.scopes&&rr.scopes.length>0&&(dr=dr.where("oi.scope","in",rr.scopes)),ir?.cursor){const gr=Number.parseInt(ir.cursor,10);dr=dr.where("oi.ordinal",">",gr)}ir?.limit&&(dr=dr.limit(ir.limit+1));const mr=await dr.execute();let _r=!1,hr=mr;ir?.limit&&mr.length>ir.limit&&(_r=!0,hr=mr.slice(0,ir.limit));const fr=_r&&hr.length>0?hr[hr.length-1].ordinal.toString():void 0;return{items:hr.map(gr=>this.rowToOperationIndexEntry(gr)),nextCursor:fr,hasMore:_r}}rowToOperationIndexEntry(B){return{ordinal:B.ordinal,documentId:B.documentId,documentType:B.documentType,branch:B.branch,scope:B.scope,index:B.index,timestampUtcMs:B.timestampUtcMs.toString(),hash:B.hash,skip:B.skip,action:B.action,id:B.opId}}}function createDocumentFromAction(I){const B=I.input,tr=createPresignedHeader();tr.id=B.documentId,tr.documentType=B.model,B.signing&&(tr.createdAtUtcIso=B.signing.createdAtUtcIso,tr.lastModifiedAtUtcIso=B.signing.createdAtUtcIso,tr.sig={publicKey:B.signing.publicKey,nonce:B.signing.nonce}),B.slug!==void 0&&(tr.slug=B.slug),tr.slug||(tr.slug=B.documentId),B.name!==void 0&&(tr.name=B.name),B.branch!==void 0&&(tr.branch=B.branch),B.meta!==void 0&&(tr.meta=B.meta);const rr=defaultBaseState();return{header:tr,operations:{},state:rr,initialState:rr,clipboard:[]}}function applyUpgradeDocumentAction(I,B){const tr=B.input,rr=tr.initialState||tr.state;return rr&&(I.state={...I.state,...rr},I.initialState=I.state),I}function applyDeleteDocumentAction(I,B){const tr=B.timestampUtcMs||new Date().toISOString();return I.state={...I.state,document:{...I.state.document,isDeleted:!0,deletedAtUtcIso:tr}},I}const getNextIndexForScope=(I,B)=>I.header.revision[B]||0;function createEmptyConsistencyToken(){return{version:1,createdAtUtcIso:new Date().toISOString(),coordinates:[]}}function createConsistencyToken(I){if(I.length===0)return createEmptyConsistencyToken();const B=[];for(let tr=0;tr<I.length;tr++){const rr=I[tr];B.push({documentId:rr.context.documentId,scope:rr.context.scope,branch:rr.context.branch,operationIndex:rr.operation.index})}return{version:1,createdAtUtcIso:new Date().toISOString(),coordinates:B}}class RingBuffer{buffer;head=0;size=0;capacity;constructor(B){if(B<=0)throw new Error("Ring buffer capacity must be greater than 0");this.capacity=B,this.buffer=new Array(B)}push(B){const tr=(this.head+this.size)%this.capacity;this.size<this.capacity?(this.buffer[tr]=B,this.size++):(this.buffer[this.head]=B,this.head=(this.head+1)%this.capacity)}getAll(){if(this.size===0)return[];const B=[];for(let tr=0;tr<this.size;tr++){const rr=(this.head+tr)%this.capacity;B.push(this.buffer[rr])}return B}clear(){this.buffer=new Array(this.capacity),this.head=0,this.size=0}get length(){return this.size}}class LRUNode{key;prev;next;constructor(B){this.key=B,this.prev=void 0,this.next=void 0}}class LRUTracker{map;head;tail;constructor(){this.map=new Map,this.head=void 0,this.tail=void 0}get size(){return this.map.size}touch(B){const tr=this.map.get(B);tr?this.moveToFront(tr):this.addToFront(B)}evict(){if(!this.tail)return;const B=this.tail.key;return this.remove(B),B}remove(B){const tr=this.map.get(B);tr&&(this.removeNode(tr),this.map.delete(B))}clear(){this.map.clear(),this.head=void 0,this.tail=void 0}addToFront(B){const tr=new LRUNode(B);this.map.set(B,tr),this.head?(tr.next=this.head,this.head.prev=tr,this.head=tr):(this.head=tr,this.tail=tr)}moveToFront(B){B!==this.head&&(this.removeNode(B),B.prev=void 0,B.next=this.head,this.head&&(this.head.prev=B),this.head=B,this.tail||(this.tail=B))}removeNode(B){B.prev?B.prev.next=B.next:this.head=B.next,B.next?B.next.prev=B.prev:this.tail=B.prev}}class KyselyWriteCache{streams;lruTracker;keyframeStore;operationStore;registry;config;constructor(B,tr,rr,ir){this.keyframeStore=B,this.operationStore=tr,this.registry=rr,this.config={maxDocuments:ir.maxDocuments,ringBufferSize:ir.ringBufferSize,keyframeInterval:ir.keyframeInterval},this.streams=new Map,this.lruTracker=new LRUTracker}async startup(){return Promise.resolve()}async shutdown(){return Promise.resolve()}async getState(B,tr,rr,ir,lr){if(lr?.aborted)throw new Error("Operation aborted");const dr=this.makeStreamKey(B,tr,rr),mr=this.streams.get(dr);if(mr){const fr=mr.ringBuffer.getAll();if(ir===void 0){if(fr.length>0){const gr=fr[fr.length-1];return this.lruTracker.touch(dr),gr.document}}else{const gr=fr.find(wr=>wr.revision===ir);if(gr)return this.lruTracker.touch(dr),gr.document;const xr=this.findNearestOlderSnapshot(fr,ir);if(xr){const wr=await this.warmMissRebuild(xr.document,xr.revision,B,tr,rr,ir,lr);return this.putState(B,tr,rr,ir,wr),this.lruTracker.touch(dr),wr}}}const _r=await this.coldMissRebuild(B,tr,rr,ir,lr);let hr=ir;return hr===void 0&&(hr=_r.header.revision[tr]||0),this.putState(B,tr,rr,hr,_r),_r}putState(B,tr,rr,ir,lr){const dr=this.makeStreamKey(B,tr,rr),mr=this.getOrCreateStream(dr),_r={revision:ir,document:lr};mr.ringBuffer.push(_r),this.isKeyframeRevision(ir)&&this.keyframeStore.putKeyframe(B,tr,rr,ir,lr).catch(hr=>{console.error(`Failed to persist keyframe ${B}@${ir}:`,hr)})}invalidate(B,tr,rr){let ir=0;if(tr===void 0&&rr===void 0)for(const[lr]of this.streams.entries())lr.startsWith(`${B}:`)&&(this.streams.delete(lr),this.lruTracker.remove(lr),ir++);else if(tr!==void 0&&rr===void 0)for(const[lr]of this.streams.entries())lr.startsWith(`${B}:${tr}:`)&&(this.streams.delete(lr),this.lruTracker.remove(lr),ir++);else if(tr!==void 0&&rr!==void 0){const lr=this.makeStreamKey(B,tr,rr);this.streams.has(lr)&&(this.streams.delete(lr),this.lruTracker.remove(lr),ir=1)}return ir}clear(){this.streams.clear(),this.lruTracker.clear()}getStream(B,tr,rr){const ir=this.makeStreamKey(B,tr,rr);return this.streams.get(ir)}async findNearestKeyframe(B,tr,rr,ir,lr){if(!(ir===Number.MAX_SAFE_INTEGER||ir<=0))return this.keyframeStore.findNearestKeyframe(B,tr,rr,ir,lr)}async coldMissRebuild(B,tr,rr,ir,lr){const dr=ir||Number.MAX_SAFE_INTEGER,mr=await this.findNearestKeyframe(B,tr,rr,dr,lr);let _r,hr,fr;if(mr)_r=mr.document,hr=mr.revision,fr=mr.document.header.documentType;else{_r=void 0,hr=0;const Ir=await this.operationStore.getSince(B,"document",rr,-1,{limit:1},lr);if(Ir.items.length===0)throw new Error(`Failed to rebuild document ${B}: no CREATE_DOCUMENT operation found in document scope`);const Mr=Ir.items[0];if(Mr.action.type!=="CREATE_DOCUMENT")throw new Error(`Failed to rebuild document ${B}: first operation in document scope must be CREATE_DOCUMENT, found ${Mr.action.type}`);const yr=Mr.action;if(fr=yr.input.model,!fr)throw new Error(`Failed to rebuild document ${B}: CREATE_DOCUMENT action missing model in input`);_r=createDocumentFromAction(yr);const br=this.registry.getModule(fr),Cr=await this.operationStore.getSince(B,"document",rr,0,void 0,lr);for(const Fr of Cr.items)Fr.index!==0&&(Fr.action.type==="UPGRADE_DOCUMENT"?applyUpgradeDocumentAction(_r,Fr.action):Fr.action.type==="DELETE_DOCUMENT"?applyDeleteDocumentAction(_r,Fr.action):_r=br.reducer(_r,Fr.action))}const gr=this.registry.getModule(fr);let xr;const wr=100;let Sr;do{if(lr?.aborted)throw new Error("Operation aborted");const Ir=xr?{cursor:xr,pageSize:wr}:{pageSize:wr};try{const Mr=await this.operationStore.getSince(B,tr,rr,hr,Ir,lr);for(const br of Mr.items){if(ir!==void 0&&br.index>ir)break;_r=gr.reducer(_r,br.action)}const yr=ir!==void 0&&Mr.items.some(br=>br.index>=ir);Sr=!!Mr.nextCursor&&!yr,Sr&&(xr=Mr.nextCursor)}catch(Mr){throw new Error(`Failed to rebuild document ${B}: ${Mr instanceof Error?Mr.message:String(Mr)}`)}}while(Sr);const vr=await this.operationStore.getRevisions(B,rr,lr);return _r.header.revision=vr.revision,_r.header.lastModifiedAtUtcIso=vr.latestTimestamp,_r}async warmMissRebuild(B,tr,rr,ir,lr,dr,mr){const _r=B.header.documentType,hr=this.registry.getModule(_r);let fr=B;try{const xr=await this.operationStore.getSince(rr,ir,lr,tr,void 0,mr);for(const wr of xr.items){if(mr?.aborted)throw new Error("Operation aborted");if(dr!==void 0&&wr.index>dr||(fr=hr.reducer(fr,wr.action),dr!==void 0&&wr.index===dr))break}}catch(xr){throw new Error(`Failed to rebuild document ${rr}: ${xr instanceof Error?xr.message:String(xr)}`)}const gr=await this.operationStore.getRevisions(rr,lr,mr);return fr.header.revision=gr.revision,fr.header.lastModifiedAtUtcIso=gr.latestTimestamp,fr}findNearestOlderSnapshot(B,tr){let rr;for(const ir of B)ir.revision<tr&&(!rr||ir.revision>rr.revision)&&(rr=ir);return rr}makeStreamKey(B,tr,rr){return`${B}:${tr}:${rr}`}getOrCreateStream(B){let tr=this.streams.get(B);if(!tr){if(this.streams.size>=this.config.maxDocuments){const rr=this.lruTracker.evict();rr&&this.streams.delete(rr)}tr={key:B,ringBuffer:new RingBuffer(this.config.ringBufferSize)},this.streams.set(B,tr)}return this.lruTracker.touch(B),tr}isKeyframeRevision(B){return B>0&&B%this.config.keyframeInterval===0}}class EventBus{eventTypeToSubscribers=new Map;subscribe(B,tr){let rr=this.eventTypeToSubscribers.get(B);rr||(rr=[],this.eventTypeToSubscribers.set(B,rr)),rr.push(tr);let ir=!1;return()=>{if(ir)return;ir=!0;const lr=this.eventTypeToSubscribers.get(B);if(!lr)return;const dr=lr.indexOf(tr);dr!==-1&&lr.splice(dr,1),lr.length===0&&this.eventTypeToSubscribers.delete(B)}}async emit(B,tr){const rr=this.eventTypeToSubscribers.get(B);if(!rr||rr.length===0)return;const ir=rr.slice(),lr=[];for(const dr of ir)try{await Promise.resolve(dr(B,tr))}catch(mr){lr.push(mr)}if(lr.length>0)throw new EventBusAggregateError(lr)}}var JobQueueState;(function(I){I[I.UNKNOWN=-1]="UNKNOWN",I[I.PREPROCESSING=0]="PREPROCESSING",I[I.PENDING=1]="PENDING",I[I.READY=2]="READY",I[I.RUNNING=3]="RUNNING",I[I.RESOLVED=4]="RESOLVED"})(JobQueueState||(JobQueueState={}));const QueueEventTypes={JOB_AVAILABLE:1e4};class SimpleJobExecutorManager{executorFactory;eventBus;queue;jobTracker;executors=[];isRunning=!1;activeJobs=0;totalJobsProcessed=0;unsubscribe;constructor(B,tr,rr,ir){this.executorFactory=B,this.eventBus=tr,this.queue=rr,this.jobTracker=ir}async start(B){if(this.isRunning)throw new Error("JobExecutorManager is already running");if(B<1)throw new Error("Number of executors must be at least 1");this.executors=[];for(let tr=0;tr<B;tr++)this.executors.push(this.executorFactory());this.unsubscribe=this.eventBus.subscribe(QueueEventTypes.JOB_AVAILABLE,async()=>{this.activeJobs<this.executors.length&&await this.processNextJob()}),this.isRunning=!0,await this.processExistingJobs()}async stop(B=!0){if(this.isRunning){if(this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0),B)for(;this.activeJobs>0;)await new Promise(tr=>setTimeout(tr,100));this.executors=[],this.isRunning=!1}}getExecutors(){return[...this.executors]}getStatus(){return{isRunning:this.isRunning,numExecutors:this.executors.length,activeJobs:this.activeJobs,totalJobsProcessed:this.totalJobsProcessed}}async processNextJob(){let B;try{B=await this.queue.dequeueNext()}catch(lr){console.error("Error dequeueing job:",lr);return}if(!B)return;B.start(),this.activeJobs++,this.jobTracker.markRunning(B.job.id);const tr=this.totalJobsProcessed%this.executors.length,rr=this.executors[tr];let ir;try{ir=await rr.executeJob(B.job)}catch(lr){const dr=this.toErrorInfo(lr instanceof Error?lr:String(lr));console.error(`Error executing job ${B.job.id}:`,dr.message),B.fail(dr),this.activeJobs--,this.jobTracker.markFailed(B.job.id,dr),this.eventBus.emit(OperationEventTypes.JOB_FAILED,{jobId:B.job.id,error:new Error(dr.message)}).catch(()=>{}),await this.checkForMoreJobs();return}if(ir.success)B.complete(),this.totalJobsProcessed++;else{const lr=B.job.retryCount||0,dr=B.job.maxRetries||0;if(lr<dr){const mr=ir.error?this.toErrorInfo(ir.error):this.toErrorInfo("Unknown error");try{await this.queue.retryJob(B.job.id,mr)}catch(_r){const hr=this.toErrorInfo(_r instanceof Error?_r:"Failed to retry job");console.error(`Failed to retry job ${B.job.id}:`,hr.message),this.jobTracker.markFailed(B.job.id,hr),this.eventBus.emit(OperationEventTypes.JOB_FAILED,{jobId:B.job.id,error:new Error(hr.message)}).catch(()=>{}),B.fail(hr)}}else{const mr=ir.error?this.toErrorInfo(ir.error):this.toErrorInfo("Unknown error"),_r=this.formatErrorHistory(B.job.errorHistory,mr,lr+1);this.jobTracker.markFailed(B.job.id,_r),this.eventBus.emit(OperationEventTypes.JOB_FAILED,{jobId:B.job.id,error:new Error(_r.message)}).catch(()=>{}),B.fail(_r)}}this.activeJobs--,await this.checkForMoreJobs()}async checkForMoreJobs(){if(!this.isRunning)return;let B;try{B=await this.queue.hasJobs()}catch(tr){console.error("Error checking for more jobs:",tr);return}B&&await this.processNextJob()}async processExistingJobs(){let B;try{B=await this.queue.hasJobs()}catch(tr){console.error("Error checking for existing jobs:",tr);return}if(B){const tr=[];for(let rr=0;rr<Math.min(this.executors.length,5);rr++)tr.push(this.processNextJob());try{await Promise.all(tr)}catch(rr){console.error("Error processing existing jobs:",rr)}}}toErrorInfo(B){return B instanceof Error?{message:B.message,stack:B.stack||new Error().stack||""}:{message:B,stack:new Error().stack||""}}formatErrorHistory(B,tr,rr){const ir=[...B,tr];if(ir.length===1)return tr;const lr=[`Job failed after ${rr} attempts:`],dr=[];return ir.forEach((mr,_r)=>{lr.push(`[Attempt ${_r+1}] ${mr.message}`),dr.push(`[Attempt ${_r+1}] Stack trace:
|
|
15
|
-
${mr.stack}`)}),{message:lr.join(`
|
|
16
|
-
`),stack:dr.join(`
|
|
17
|
-
|
|
18
|
-
`)}}}function driveCollectionId(I,B){return`drive.${I}.${B}`}class DocumentDeletedError extends Error{documentId;deletedAtUtcIso;constructor(B,tr=null){const rr=tr?`Document ${B} was deleted at ${tr}`:`Document ${B} has been deleted`;super(rr),this.name="DocumentDeletedError",this.documentId=B,this.deletedAtUtcIso=tr,Error.captureStackTrace(this,DocumentDeletedError)}}class InvalidSignatureError extends Error{documentId;reason;constructor(B,tr){super(`Invalid signature in document ${B}: ${tr}`),this.name="InvalidSignatureError",this.documentId=B,this.reason=tr,Error.captureStackTrace(this,InvalidSignatureError)}}function reshuffleByTimestampAndIndex(I,B,tr){return[...B,...tr].sort((rr,ir)=>new Date(rr.timestampUtcMs||"").getTime()-new Date(ir.timestampUtcMs||"").getTime()).sort((rr,ir)=>rr.index-ir.index).map((rr,ir)=>({...rr,index:I.index+ir,skip:ir===0?I.skip:0}))}const MAX_SKIP_THRESHOLD=100;class SimpleJobExecutor{registry;documentStorage;operationStorage;operationStore;eventBus;writeCache;operationIndex;signatureVerifier;config;constructor(B,tr,rr,ir,lr,dr,mr,_r,hr){this.registry=B,this.documentStorage=tr,this.operationStorage=rr,this.operationStore=ir,this.eventBus=lr,this.writeCache=dr,this.operationIndex=mr,this.signatureVerifier=hr,this.config={maxConcurrency:_r.maxConcurrency??1,jobTimeoutMs:_r.jobTimeoutMs??3e4,retryBaseDelayMs:_r.retryBaseDelayMs??100,retryMaxDelayMs:_r.retryMaxDelayMs??5e3,legacyStorageEnabled:_r.legacyStorageEnabled??!0}}async executeJob(B){const tr=Date.now(),rr=this.operationIndex.start();if(B.kind==="load"){const lr=await this.executeLoadJob(B,tr,rr);return lr.success&&await this.operationIndex.commit(rr),lr}const ir=await this.processActions(B,B.actions,tr,rr);if(!ir.success)return{job:B,success:!1,error:ir.error,duration:Date.now()-tr};if(await this.operationIndex.commit(rr),ir.operationsWithContext.length>0){const lr={jobId:B.id,operations:ir.operationsWithContext};this.eventBus.emit(OperationEventTypes.OPERATION_WRITTEN,lr).catch(()=>{})}return{job:B,success:!0,operations:ir.generatedOperations,operationsWithContext:ir.operationsWithContext,duration:Date.now()-tr}}async processActions(B,tr,rr,ir,lr){const dr=[],mr=[];try{await this.verifyActionSignatures(B,tr)}catch(hr){return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:hr instanceof Error?hr:new Error(String(hr))}}let _r=0;for(const hr of tr){if(hr.type==="CREATE_DOCUMENT"){const yr=await this.executeCreateDocumentAction(B,hr,rr,ir,lr?.[_r]),br=this.accumulateResultOrReturnError(yr,dr,mr);if(br!==null)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:br.error};_r++;continue}if(hr.type==="DELETE_DOCUMENT"){const yr=await this.executeDeleteDocumentAction(B,hr,rr,ir),br=this.accumulateResultOrReturnError(yr,dr,mr);if(br!==null)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:br.error};_r++;continue}if(hr.type==="UPGRADE_DOCUMENT"){const yr=await this.executeUpgradeDocumentAction(B,hr,rr,ir,lr?.[_r]),br=this.accumulateResultOrReturnError(yr,dr,mr);if(br!==null)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:br.error};_r++;continue}if(hr.type==="ADD_RELATIONSHIP"){const yr=await this.executeAddRelationshipAction(B,hr,rr,ir),br=this.accumulateResultOrReturnError(yr,dr,mr);if(br!==null)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:br.error};_r++;continue}if(hr.type==="REMOVE_RELATIONSHIP"){const yr=await this.executeRemoveRelationshipAction(B,hr,rr,ir),br=this.accumulateResultOrReturnError(yr,dr,mr);if(br!==null)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:br.error};_r++;continue}let fr;try{fr=await this.writeCache.getState(B.documentId,B.scope,B.branch)}catch(yr){return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:yr instanceof Error?yr:new Error(String(yr))}}const gr=fr.state.document;if(gr.isDeleted)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:new DocumentDeletedError(B.documentId,gr.deletedAtUtcIso)};let xr;try{xr=this.registry.getModule(fr.header.documentType)}catch(yr){return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:yr instanceof Error?yr:new Error(String(yr))}}let wr;try{wr=xr.reducer(fr,hr)}catch(yr){const br=`Failed to apply action to document:
|
|
19
|
-
Action type: ${hr.type}
|
|
20
|
-
Document ID: ${B.documentId}
|
|
21
|
-
Document type: ${fr.header.documentType}
|
|
22
|
-
Scope: ${B.scope}
|
|
23
|
-
Original error: ${yr instanceof Error?yr.message:String(yr)}`,Cr=new Error(br);return yr instanceof Error&&yr.stack&&(Cr.stack=`${br}
|
|
24
|
-
|
|
25
|
-
Original stack trace:
|
|
26
|
-
${yr.stack}`),{success:!1,generatedOperations:dr,operationsWithContext:mr,error:Cr}}const Sr=B.scope,vr=wr.operations[Sr];if(vr.length===0)return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:new Error("No operation generated from action")};const Ir=vr[vr.length-1];if(lr&&_r<lr.length&&(Ir.skip=lr[_r]),dr.push(Ir),this.config.legacyStorageEnabled)try{await this.operationStorage.addDocumentOperations(B.documentId,[Ir],wr)}catch(yr){return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:yr instanceof Error?yr:new Error(String(yr))}}const Mr=JSON.stringify(wr.state);try{await this.operationStore.apply(B.documentId,fr.header.documentType,Sr,B.branch,Ir.index,yr=>{yr.addOperations(Ir)})}catch(yr){return{success:!1,generatedOperations:dr,operationsWithContext:mr,error:new Error(`Failed to write operation to IOperationStore: ${yr instanceof Error?yr.message:String(yr)}`)}}wr.header.revision={...wr.header.revision,[Sr]:Ir.index+1},this.writeCache.putState(B.documentId,Sr,B.branch,Ir.index,wr),mr.push({operation:Ir,context:{documentId:B.documentId,scope:Sr,branch:B.branch,documentType:fr.header.documentType,resultingState:Mr}}),_r++}return{success:!0,generatedOperations:dr,operationsWithContext:mr}}async executeCreateDocumentAction(B,tr,rr,ir,lr=0){if(B.scope!=="document")return{job:B,success:!1,error:new Error(`CREATE_DOCUMENT must be in "document" scope, got "${B.scope}"`),duration:Date.now()-rr};const dr=createDocumentFromAction(tr);if(this.config.legacyStorageEnabled)try{await this.documentStorage.create(dr)}catch(gr){return this.buildErrorResult(B,new Error(`Failed to create document in storage: ${gr instanceof Error?gr.message:String(gr)}`),rr)}const mr=this.createOperation(tr,0,lr);if(this.config.legacyStorageEnabled)try{await this.operationStorage.addDocumentOperations(dr.header.id,[mr],dr)}catch(gr){return this.buildErrorResult(B,new Error(`Failed to write CREATE_DOCUMENT operation to legacy storage: ${gr instanceof Error?gr.message:String(gr)}`),rr)}const _r={header:dr.header,...dr.state},hr=JSON.stringify(_r),fr=await this.writeOperationToStore(dr.header.id,dr.header.documentType,B.scope,B.branch,mr,B,rr);if(fr!==null)return fr;if(this.updateDocumentRevision(dr,B.scope,mr.index),this.writeCacheState(dr.header.id,B.scope,B.branch,mr.index,dr),ir.write([{...mr,documentId:dr.header.id,documentType:dr.header.documentType,branch:B.branch,scope:B.scope}]),dr.header.documentType==="powerhouse/document-drive"){const gr=driveCollectionId(B.branch,dr.header.id);ir.createCollection(gr),ir.addToCollection(gr,dr.header.id)}return this.buildSuccessResult(B,mr,dr.header.id,dr.header.documentType,hr,rr)}async executeDeleteDocumentAction(B,tr,rr,ir){const lr=tr.input;if(!lr.documentId)return this.buildErrorResult(B,new Error("DELETE_DOCUMENT action requires a documentId in input"),rr);const dr=lr.documentId;let mr;try{mr=await this.writeCache.getState(dr,B.scope,B.branch)}catch(Sr){return this.buildErrorResult(B,new Error(`Failed to fetch document before deletion: ${Sr instanceof Error?Sr.message:String(Sr)}`),rr)}const _r=mr.state.document;if(_r.isDeleted)return this.buildErrorResult(B,new DocumentDeletedError(dr,_r.deletedAtUtcIso),rr);const hr=getNextIndexForScope(mr,B.scope),fr=this.createOperation(tr,hr);if(this.config.legacyStorageEnabled)try{await this.documentStorage.delete(dr)}catch(Sr){return this.buildErrorResult(B,new Error(`Failed to delete document from legacy storage: ${Sr instanceof Error?Sr.message:String(Sr)}`),rr)}applyDeleteDocumentAction(mr,tr);const gr={header:mr.header,document:mr.state.document},xr=JSON.stringify(gr),wr=await this.writeOperationToStore(dr,mr.header.documentType,B.scope,B.branch,fr,B,rr);return wr!==null?wr:(ir.write([{...fr,documentId:dr,documentType:mr.header.documentType,branch:B.branch,scope:B.scope}]),this.buildSuccessResult(B,fr,dr,mr.header.documentType,xr,rr))}async executeUpgradeDocumentAction(B,tr,rr,ir,lr=0){const dr=tr.input;if(!dr.documentId)return this.buildErrorResult(B,new Error("UPGRADE_DOCUMENT action requires a documentId in input"),rr);const mr=dr.documentId;let _r;try{_r=await this.writeCache.getState(mr,B.scope,B.branch)}catch(vr){return this.buildErrorResult(B,new Error(`Failed to fetch document for upgrade: ${vr instanceof Error?vr.message:String(vr)}`),rr)}const hr=_r.state.document;if(hr.isDeleted)return this.buildErrorResult(B,new DocumentDeletedError(mr,hr.deletedAtUtcIso),rr);const fr=getNextIndexForScope(_r,B.scope);applyUpgradeDocumentAction(_r,tr);const gr=this.createOperation(tr,fr,lr);if(this.config.legacyStorageEnabled)try{await this.operationStorage.addDocumentOperations(mr,[gr],_r)}catch(vr){return this.buildErrorResult(B,new Error(`Failed to write UPGRADE_DOCUMENT operation to legacy storage: ${vr instanceof Error?vr.message:String(vr)}`),rr)}const xr={header:_r.header,..._r.state},wr=JSON.stringify(xr),Sr=await this.writeOperationToStore(mr,_r.header.documentType,B.scope,B.branch,gr,B,rr);return Sr!==null?Sr:(this.updateDocumentRevision(_r,B.scope,gr.index),this.writeCacheState(mr,B.scope,B.branch,gr.index,_r),ir.write([{...gr,documentId:mr,documentType:_r.header.documentType,branch:B.branch,scope:B.scope}]),this.buildSuccessResult(B,gr,mr,_r.header.documentType,wr,rr))}async executeAddRelationshipAction(B,tr,rr,ir){if(B.scope!=="document")return this.buildErrorResult(B,new Error(`ADD_RELATIONSHIP must be in "document" scope, got "${B.scope}"`),rr);const lr=tr.input;if(!lr.sourceId||!lr.targetId||!lr.relationshipType)return this.buildErrorResult(B,new Error("ADD_RELATIONSHIP action requires sourceId, targetId, and relationshipType in input"),rr);if(lr.sourceId===lr.targetId)return this.buildErrorResult(B,new Error("ADD_RELATIONSHIP: sourceId and targetId cannot be the same (self-relationships not allowed)"),rr);let dr;try{dr=await this.writeCache.getState(lr.sourceId,"document",B.branch)}catch(vr){return this.buildErrorResult(B,new Error(`ADD_RELATIONSHIP: source document ${lr.sourceId} not found: ${vr instanceof Error?vr.message:String(vr)}`),rr)}let mr;try{mr=await this.writeCache.getState(lr.targetId,"document",B.branch)}catch(vr){return this.buildErrorResult(B,new Error(`ADD_RELATIONSHIP: target document ${lr.targetId} not found: ${vr instanceof Error?vr.message:String(vr)}`),rr)}if(mr.state.document.isDeleted)return this.buildErrorResult(B,new Error(`ADD_RELATIONSHIP: target document ${lr.targetId} is deleted`),rr);const hr=getNextIndexForScope(dr,B.scope),fr=this.createOperation(tr,hr),gr=await this.writeOperationToStore(lr.sourceId,dr.header.documentType,B.scope,B.branch,fr,B,rr);if(gr!==null)return gr;dr.header.lastModifiedAtUtcIso=fr.timestampUtcMs||new Date().toISOString(),this.updateDocumentRevision(dr,B.scope,fr.index),dr.operations={...dr.operations,[B.scope]:[...dr.operations[B.scope]??[],fr]};const xr=dr.state[B.scope],wr={header:structuredClone(dr.header),[B.scope]:xr===void 0?{}:structuredClone(xr)},Sr=JSON.stringify(wr);if(this.writeCacheState(lr.sourceId,B.scope,B.branch,fr.index,dr),ir.write([{...fr,documentId:lr.sourceId,documentType:dr.header.documentType,branch:B.branch,scope:B.scope}]),dr.header.documentType==="powerhouse/document-drive"){const vr=driveCollectionId(B.branch,lr.sourceId);ir.addToCollection(vr,lr.targetId)}return this.buildSuccessResult(B,fr,lr.sourceId,dr.header.documentType,Sr,rr)}async executeRemoveRelationshipAction(B,tr,rr,ir){if(B.scope!=="document")return this.buildErrorResult(B,new Error(`REMOVE_RELATIONSHIP must be in "document" scope, got "${B.scope}"`),rr);const lr=tr.input;if(!lr.sourceId||!lr.targetId||!lr.relationshipType)return this.buildErrorResult(B,new Error("REMOVE_RELATIONSHIP action requires sourceId, targetId, and relationshipType in input"),rr);let dr;try{dr=await this.writeCache.getState(lr.sourceId,"document",B.branch)}catch(wr){return this.buildErrorResult(B,new Error(`REMOVE_RELATIONSHIP: source document ${lr.sourceId} not found: ${wr instanceof Error?wr.message:String(wr)}`),rr)}const mr=getNextIndexForScope(dr,B.scope),_r=this.createOperation(tr,mr),hr=await this.writeOperationToStore(lr.sourceId,dr.header.documentType,B.scope,B.branch,_r,B,rr);if(hr!==null)return hr;dr.header.lastModifiedAtUtcIso=_r.timestampUtcMs||new Date().toISOString(),this.updateDocumentRevision(dr,B.scope,_r.index),dr.operations={...dr.operations,[B.scope]:[...dr.operations[B.scope]??[],_r]};const fr=dr.state[B.scope],gr={header:structuredClone(dr.header),[B.scope]:fr===void 0?{}:structuredClone(fr)},xr=JSON.stringify(gr);if(this.writeCacheState(lr.sourceId,B.scope,B.branch,_r.index,dr),ir.write([{..._r,documentId:lr.sourceId,documentType:dr.header.documentType,branch:B.branch,scope:B.scope}]),dr.header.documentType==="powerhouse/document-drive"){const wr=driveCollectionId(B.branch,lr.sourceId);ir.removeFromCollection(wr,lr.targetId)}return this.buildSuccessResult(B,_r,lr.sourceId,dr.header.documentType,xr,rr)}createOperation(B,tr,rr=0){return{index:tr,timestampUtcMs:B.timestampUtcMs||new Date().toISOString(),hash:"",skip:rr,action:B}}async executeLoadJob(B,tr,rr){if(B.operations.length===0)return this.buildErrorResult(B,new Error("Load job must include at least one operation"),tr);const ir=B.scope;let lr=0;try{lr=(await this.operationStore.getRevisions(B.documentId,B.branch)).revision[ir]??0}catch{lr=0}const dr=B.operations.reduce((xr,wr)=>Math.min(xr,wr.index),Number.POSITIVE_INFINITY),mr=dr===Number.POSITIVE_INFINITY?0:Math.max(0,lr-dr);if(mr>MAX_SKIP_THRESHOLD)return{job:B,success:!1,error:new Error(`Excessive reshuffle detected: skip count of ${mr} exceeds threshold of ${MAX_SKIP_THRESHOLD}. This indicates an attempt to insert an operation at index ${dr} when the latest revision is ${lr}.`),duration:Date.now()-tr};const _r=reshuffleByTimestampAndIndex({index:lr,skip:mr},[],B.operations.map(xr=>({...xr,id:xr.id}))),hr=_r.map(xr=>xr.action),fr=_r.map(xr=>xr.skip),gr=await this.processActions(B,hr,tr,rr,fr);if(!gr.success)return{job:B,success:!1,error:gr.error,duration:Date.now()-tr};if(gr.operationsWithContext.length>0){const xr={jobId:B.id,operations:gr.operationsWithContext};this.eventBus.emit(OperationEventTypes.OPERATION_WRITTEN,xr).catch(()=>{})}return this.writeCache.invalidate(B.documentId,ir,B.branch),{job:B,success:!0,operations:gr.generatedOperations,operationsWithContext:gr.operationsWithContext,duration:Date.now()-tr}}async writeOperationToStore(B,tr,rr,ir,lr,dr,mr){try{return await this.operationStore.apply(B,tr,rr,ir,lr.index,_r=>{_r.addOperations(lr)}),null}catch(_r){return{job:dr,success:!1,error:new Error(`Failed to write operation to IOperationStore: ${_r instanceof Error?_r.message:String(_r)}`),duration:Date.now()-mr}}}updateDocumentRevision(B,tr,rr){B.header.revision={...B.header.revision,[tr]:rr+1}}writeCacheState(B,tr,rr,ir,lr){this.writeCache.putState(B,tr,rr,ir,lr)}buildSuccessResult(B,tr,rr,ir,lr,dr){return{job:B,success:!0,operations:[tr],operationsWithContext:[{operation:tr,context:{documentId:rr,scope:B.scope,branch:B.branch,documentType:ir,resultingState:lr}}],duration:Date.now()-dr}}buildErrorResult(B,tr,rr){return{job:B,success:!1,error:tr,duration:Date.now()-rr}}async verifyOperationSignatures(B,tr){if(this.signatureVerifier)for(let rr=0;rr<tr.length;rr++){const ir=tr[rr],lr=ir.action.context?.signer;if(!lr)continue;if(lr.signatures.length===0)throw new InvalidSignatureError(B.documentId,`Operation ${ir.id??"unknown"} at index ${ir.index} has signer but no signatures`);const dr=lr.app.key;let mr=!1;try{mr=await this.signatureVerifier(ir,dr)}catch(_r){const hr=_r instanceof Error?_r.message:String(_r);throw new InvalidSignatureError(B.documentId,`Operation ${ir.id??"unknown"} at index ${ir.index} verification failed: ${hr}`)}if(!mr)throw new InvalidSignatureError(B.documentId,`Operation ${ir.id??"unknown"} at index ${ir.index} signature verification returned false`)}}async verifyActionSignatures(B,tr){if(this.signatureVerifier)for(const rr of tr){const ir=rr.context?.signer;if(!ir)continue;if(ir.signatures.length===0)throw new InvalidSignatureError(B.documentId,`Action ${rr.id} has signer but no signatures`);const lr=ir.app.key;let dr=!1;try{const mr={index:0,timestampUtcMs:rr.timestampUtcMs||new Date().toISOString(),hash:"",skip:0,action:rr};dr=await this.signatureVerifier(mr,lr)}catch(mr){const _r=mr instanceof Error?mr.message:String(mr);throw new InvalidSignatureError(B.documentId,`Action ${rr.id} verification failed: ${_r}`)}if(!dr)throw new InvalidSignatureError(B.documentId,`Action ${rr.id} signature verification returned false`)}}accumulateResultOrReturnError(B,tr,rr){return B.success?(B.operations&&B.operations.length>0&&tr.push(...B.operations),B.operationsWithContext&&rr.push(...B.operationsWithContext),null):B}}class InMemoryJobTracker{eventBus;jobs=new Map;unsubscribers=[];constructor(B){this.eventBus=B,this.subscribeToEvents()}subscribeToEvents(){this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN,(B,tr)=>{this.handleOperationWritten(tr)})),this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATIONS_READY,(B,tr)=>{this.handleOperationsReady(tr)})),this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.JOB_FAILED,(B,tr)=>{this.handleJobFailed(tr)}))}handleOperationWritten(B){const tr=B.jobId,rr=this.jobs.get(tr);if(rr&&rr.status===JobStatus.RUNNING){const ir=createConsistencyToken(B.operations);this.jobs.set(tr,{...rr,status:JobStatus.WRITE_COMPLETED,consistencyToken:ir})}}handleOperationsReady(B){const tr=B.jobId,rr=this.jobs.get(tr);rr&&rr.status===JobStatus.WRITE_COMPLETED&&this.jobs.set(tr,{...rr,status:JobStatus.READ_MODELS_READY})}handleJobFailed(B){this.markFailed(B.jobId,{message:B.error.message,stack:B.error.stack||""})}shutdown(){for(const B of this.unsubscribers)B();this.unsubscribers=[]}registerJob(B){this.jobs.set(B.id,{...B})}markRunning(B){const tr=this.jobs.get(B);if(!tr){this.jobs.set(B,{id:B,status:JobStatus.RUNNING,createdAtUtcIso:new Date().toISOString(),consistencyToken:createEmptyConsistencyToken()});return}this.jobs.set(B,{...tr,status:JobStatus.RUNNING})}markFailed(B,tr){const rr=this.jobs.get(B);if(!rr){this.jobs.set(B,{id:B,status:JobStatus.FAILED,createdAtUtcIso:new Date().toISOString(),completedAtUtcIso:new Date().toISOString(),error:tr,consistencyToken:createEmptyConsistencyToken()});return}this.jobs.set(B,{...rr,status:JobStatus.FAILED,completedAtUtcIso:new Date().toISOString(),error:tr,consistencyToken:createEmptyConsistencyToken()})}getJobStatus(B){const tr=this.jobs.get(B);return tr?{...tr}:null}}class JobExecutionHandle{_state;_job;onStart;onComplete;onFail;getStateName(B){switch(B){case JobQueueState.PREPROCESSING:return"PREPROCESSING";case JobQueueState.PENDING:return"PENDING";case JobQueueState.READY:return"READY";case JobQueueState.RUNNING:return"RUNNING";case JobQueueState.RESOLVED:return"RESOLVED";default:return"UNKNOWN"}}constructor(B,tr,rr){this._job=B,this._state=tr,this.onStart=rr?.onStart,this.onComplete=rr?.onComplete,this.onFail=rr?.onFail}get job(){return this._job}get state(){return this._state}start(){if(this._state!==JobQueueState.READY)throw new Error(`Cannot start job in state ${this.getStateName(this._state)}`);this._state=JobQueueState.RUNNING,this.onStart?.()}complete(){if(this._state!==JobQueueState.RUNNING)throw new Error(`Cannot complete job in state ${this.getStateName(this._state)}`);this._state=JobQueueState.RESOLVED,this.onComplete?.()}fail(B){if(this._state!==JobQueueState.RUNNING)throw new Error(`Cannot fail job in state ${this.getStateName(this._state)}`);this._state=JobQueueState.RESOLVED,this.onFail?.(B)}}class InMemoryQueue{eventBus;queues=new Map;jobIdToQueueKey=new Map;docIdToJobId=new Map;jobIdToDocId=new Map;completedJobs=new Set;jobIndex=new Map;isBlocked=!1;onDrainedCallback;constructor(B){this.eventBus=B}toErrorInfo(B){return B instanceof Error?{message:B.message,stack:B.stack||new Error().stack||""}:{message:B,stack:new Error().stack||""}}createQueueKey(B,tr,rr){return`${B}:${tr}:${rr}`}getQueue(B){let tr=this.queues.get(B);return tr||(tr=[],this.queues.set(B,tr)),tr}isDocumentExecuting(B){const tr=this.docIdToJobId.get(B);return tr?tr.size>0:!1}markJobExecuting(B){let tr=this.docIdToJobId.get(B.documentId);tr||(tr=new Set,this.docIdToJobId.set(B.documentId,tr)),tr.add(B.id),this.jobIdToDocId.set(B.id,B.documentId)}markJobComplete(B,tr){const rr=this.docIdToJobId.get(tr);rr&&(rr.delete(B),rr.size===0&&this.docIdToJobId.delete(tr)),this.jobIdToDocId.delete(B)}areDependenciesMet(B){return B.queueHint.length===0?!0:B.queueHint.every(tr=>this.completedJobs.has(tr))}getNextJobWithMetDependencies(B){for(const tr of B)if(this.areDependenciesMet(tr))return tr;return null}async enqueue(B){if(this.isBlocked)throw new Error("Queue is blocked");const tr=this.createQueueKey(B.documentId,B.scope,B.branch);this.getQueue(tr).push(B),this.jobIdToQueueKey.set(B.id,tr),this.jobIndex.set(B.id,B);const ir={documentId:B.documentId,scope:B.scope,branch:B.branch,jobId:B.id};await this.eventBus.emit(QueueEventTypes.JOB_AVAILABLE,ir)}dequeue(B,tr,rr,ir){const lr=this.createQueueKey(B,tr,rr),dr=this.queues.get(lr);if(ir?.aborted)return Promise.reject(new Error("Operation aborted"));if(!dr||dr.length===0)return Promise.resolve(null);const mr=this.getNextJobWithMetDependencies(dr);if(!mr)return Promise.resolve(null);const _r=dr.indexOf(mr);dr.splice(_r,1),this.jobIdToQueueKey.delete(mr.id),this.markJobExecuting(mr),dr.length===0&&this.queues.delete(lr);const hr=new JobExecutionHandle(mr,JobQueueState.READY,{onStart:()=>{},onComplete:()=>{this.completeJob(mr.id)},onFail:fr=>{this.failJob(mr.id,fr)}});return Promise.resolve(hr)}dequeueNext(B){if(B?.aborted)return Promise.reject(new Error("Operation aborted"));for(const[tr,rr]of this.queues.entries())if(rr.length>0){const ir=this.getNextJobWithMetDependencies(rr);if(!ir)continue;if(!this.isDocumentExecuting(ir.documentId)){const lr=rr.indexOf(ir);rr.splice(lr,1),this.jobIdToQueueKey.delete(ir.id),this.markJobExecuting(ir),rr.length===0&&this.queues.delete(tr);const dr=new JobExecutionHandle(ir,JobQueueState.READY,{onStart:()=>{},onComplete:()=>{this.completeJob(ir.id)},onFail:mr=>{this.failJob(ir.id,mr)}});return Promise.resolve(dr)}}return Promise.resolve(null)}size(B,tr,rr){const ir=this.createQueueKey(B,tr,rr),lr=this.queues.get(ir);return Promise.resolve(lr?lr.length:0)}totalSize(){let B=0;for(const tr of this.queues.values())B+=tr.length;return Promise.resolve(B)}remove(B){const tr=this.jobIdToQueueKey.get(B);if(!tr)return Promise.resolve(!1);const rr=this.queues.get(tr);if(!rr)return this.jobIdToQueueKey.delete(B),this.jobIndex.delete(B),Promise.resolve(!1);const ir=rr.findIndex(lr=>lr.id===B);return ir===-1?(this.jobIdToQueueKey.delete(B),this.jobIndex.delete(B),Promise.resolve(!1)):(rr.splice(ir,1),this.jobIdToQueueKey.delete(B),this.jobIndex.delete(B),rr.length===0&&this.queues.delete(tr),Promise.resolve(!0))}clear(B,tr,rr){const ir=this.createQueueKey(B,tr,rr),lr=this.queues.get(ir);if(lr){for(const dr of lr)this.jobIdToQueueKey.delete(dr.id),this.jobIndex.delete(dr.id);this.queues.delete(ir)}return Promise.resolve()}clearAll(){return this.jobIdToQueueKey.clear(),this.jobIndex.clear(),this.completedJobs.clear(),this.queues.clear(),Promise.resolve()}hasJobs(){return Promise.resolve(this.queues.size>0&&Array.from(this.queues.values()).some(B=>B.length>0))}async completeJob(B){const tr=this.jobIdToDocId.get(B);tr&&this.markJobComplete(B,tr),this.completedJobs.add(B),this.jobIndex.delete(B),await this.remove(B),this.checkDrained()}async failJob(B,tr){const rr=this.jobIdToDocId.get(B);rr&&this.markJobComplete(B,rr);const ir=this.jobIndex.get(B);ir&&(ir.lastError=tr,tr&&ir.errorHistory.push(tr)),this.jobIndex.delete(B),await this.remove(B),this.checkDrained()}async retryJob(B,tr){const rr=this.jobIndex.get(B);if(!rr)return;rr.lastError=tr;const ir=this.jobIdToDocId.get(B);ir&&this.markJobComplete(B,ir),this.jobIndex.delete(B),this.jobIdToQueueKey.delete(B),tr&&rr.errorHistory.push(tr);const lr={...rr,retryCount:(rr.retryCount||0)+1,lastError:tr};await this.enqueue(lr)}checkDrained(){if(this.isDrained&&this.onDrainedCallback){const B=this.onDrainedCallback;this.onDrainedCallback=void 0,B()}}get isDrained(){const B=this.queues.size>0&&Array.from(this.queues.values()).some(rr=>rr.length>0),tr=this.docIdToJobId.size>0&&Array.from(this.docIdToJobId.values()).some(rr=>rr.size>0);return!B&&!tr}block(B){this.isBlocked=!0,this.onDrainedCallback=B,this.checkDrained()}unblock(){this.isBlocked=!1,this.onDrainedCallback=void 0}}class ReadModelCoordinator{eventBus;readModels;unsubscribe;isRunning=!1;constructor(B,tr){this.eventBus=B,this.readModels=tr}start(){this.isRunning||(this.unsubscribe=this.eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN,async(B,tr)=>{await this.handleOperationWritten(tr)}),this.isRunning=!0)}stop(){this.isRunning&&(this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0),this.isRunning=!1)}async handleOperationWritten(B){await Promise.all(this.readModels.map(rr=>rr.indexOperations(B.operations)));const tr={jobId:B.jobId,operations:B.operations};this.eventBus.emit(OperationEventTypes.OPERATIONS_READY,tr).catch(()=>{})}}const byteToHex=[];for(let I=0;I<256;++I)byteToHex.push((I+256).toString(16).slice(1));function unsafeStringify(I,B=0){return(byteToHex[I[B+0]]+byteToHex[I[B+1]]+byteToHex[I[B+2]]+byteToHex[I[B+3]]+"-"+byteToHex[I[B+4]]+byteToHex[I[B+5]]+"-"+byteToHex[I[B+6]]+byteToHex[I[B+7]]+"-"+byteToHex[I[B+8]]+byteToHex[I[B+9]]+"-"+byteToHex[I[B+10]]+byteToHex[I[B+11]]+byteToHex[I[B+12]]+byteToHex[I[B+13]]+byteToHex[I[B+14]]+byteToHex[I[B+15]]).toLowerCase()}let getRandomValues;const rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");getRandomValues=crypto.getRandomValues.bind(crypto)}return getRandomValues(rnds8)}const randomUUID=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),native={randomUUID};function v4(I,B,tr){if(native.randomUUID&&!I)return native.randomUUID();I=I||{};const rr=I.random??I.rng?.()??rng();if(rr.length<16)throw new Error("Random bytes length must be >= 16");return rr[6]=rr[6]&15|64,rr[8]=rr[8]&63|128,unsafeStringify(rr)}class KyselyDocumentView{db;operationStore;consistencyTracker;lastOperationId=0;constructor(B,tr,rr){this.db=B,this.operationStore=tr,this.consistencyTracker=rr}async init(){const B=await this.db.selectFrom("ViewState").selectAll().executeTakeFirst();if(B){this.lastOperationId=B.lastOperationId;const tr=await this.operationStore.getSinceId(this.lastOperationId);tr.items.length>0&&await this.indexOperations(tr.items)}else{await this.db.insertInto("ViewState").values({lastOperationId:0}).execute();const tr=await this.operationStore.getSinceId(0);tr.items.length>0&&await this.indexOperations(tr.items)}}async indexOperations(B){if(B.length===0)return;await this.db.transaction().execute(async rr=>{for(const ir of B){const{operation:lr,context:dr}=ir,{documentId:mr,scope:_r,branch:hr,documentType:fr,resultingState:gr}=dr,{index:xr,hash:wr}=lr;if(!gr)throw new Error(`Missing resultingState in context for operation ${lr.id||"unknown"}. IDocumentView requires resultingState from upstream - it does not rebuild documents.`);let Sr={};try{Sr=JSON.parse(gr)}catch(Mr){throw new Error(`Failed to parse resultingState for operation ${lr.id||"unknown"}: ${Mr instanceof Error?Mr.message:String(Mr)}`)}const vr=lr.action.type;let Ir;if(vr==="CREATE_DOCUMENT")Ir=Object.entries(Sr).filter(([Mr])=>Mr==="header"||Mr==="document"||Mr==="auth");else if(vr==="UPGRADE_DOCUMENT"){const Mr=[];for(const[yr,br]of Object.entries(Sr)){if(yr==="header"){Mr.push([yr,br]);continue}if(yr===_r){Mr.push([yr,br]);continue}await rr.selectFrom("DocumentSnapshot").select("scope").where("documentId","=",mr).where("scope","=",yr).where("branch","=",hr).executeTakeFirst()||Mr.push([yr,br])}Ir=Mr}else Ir=[],Sr.header!==void 0&&Ir.push(["header",Sr.header]),Sr[_r]!==void 0?Ir.push([_r,Sr[_r]]):Ir.push([_r,{}]);for(const[Mr,yr]of Ir){const br=await rr.selectFrom("DocumentSnapshot").selectAll().where("documentId","=",mr).where("scope","=",Mr).where("branch","=",hr).executeTakeFirst(),Cr=typeof yr=="object"&&yr!==null?yr:{};let Fr=br?.slug??null,Lr=br?.name??null;if(Mr==="header"){const Ar=Cr.slug,Or=Cr.name;typeof Ar=="string"&&(Fr=Ar),typeof Or=="string"&&(Lr=Or),Fr&&Fr!==mr&&await rr.insertInto("SlugMapping").values({slug:Fr,documentId:mr,scope:Mr,branch:hr}).onConflict(Jr=>Jr.column("slug").doUpdateSet({documentId:mr,scope:Mr,branch:hr})).execute()}if(br)await rr.updateTable("DocumentSnapshot").set({lastOperationIndex:xr,lastOperationHash:wr,lastUpdatedAt:new Date,snapshotVersion:br.snapshotVersion+1,content:Cr,slug:Fr,name:Lr}).where("documentId","=",mr).where("scope","=",Mr).where("branch","=",hr).execute();else{const Ar={id:v4(),documentId:mr,slug:Fr,name:Lr,scope:Mr,branch:hr,content:Cr,documentType:fr,lastOperationIndex:xr,lastOperationHash:wr,identifiers:null,metadata:null,deletedAt:null};await rr.insertInto("DocumentSnapshot").values(Ar).execute()}}}});const tr=[];for(let rr=0;rr<B.length;rr++){const ir=B[rr];tr.push({documentId:ir.context.documentId,scope:ir.context.scope,branch:ir.context.branch,operationIndex:ir.operation.index})}this.consistencyTracker.update(tr)}async waitForConsistency(B,tr,rr){B.coordinates.length!==0&&await this.consistencyTracker.waitFor(B.coordinates,tr,rr)}async exists(B,tr,rr){if(tr&&await this.waitForConsistency(tr,void 0,rr),rr?.aborted)throw new Error("Operation aborted");if(B.length===0)return[];const ir=await this.db.selectFrom("DocumentSnapshot").select(["documentId"]).where("documentId","in",B).where("isDeleted","=",!1).distinct().execute(),lr=new Set(ir.map(dr=>dr.documentId));return B.map(dr=>lr.has(dr))}async get(B,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=tr?.branch||"main";let dr;tr?.scopes&&tr.scopes.length>0?dr=[...new Set(["header","document",...tr.scopes])]:dr=[];let mr=this.db.selectFrom("DocumentSnapshot").selectAll().where("documentId","=",B).where("branch","=",lr).where("isDeleted","=",!1);dr.length>0&&(mr=mr.where("scope","in",dr));const _r=await mr.execute();if(_r.length===0)throw new Error(`Document not found: ${B}`);if(ir?.aborted)throw new Error("Operation aborted");const hr=_r.find(Mr=>Mr.scope==="header");if(!hr)throw new Error(`Document header not found: ${B}`);const fr=hr.content,gr=await this.operationStore.getRevisions(B,lr,ir);fr.revision=gr.revision,fr.lastModifiedAtUtcIso=gr.latestTimestamp;const xr={};for(const Mr of _r)Mr.scope!=="header"&&(xr[Mr.scope]=Mr.content);const wr={},vr=(await this.operationStore.getSinceId(0,void 0,ir)).items.filter(Mr=>Mr.context.documentId===B&&Mr.context.branch===lr);for(const{operation:Mr,context:yr}of vr){wr[yr.scope]??=[];const br={action:Mr.action,index:Mr.index,timestampUtcMs:Mr.timestampUtcMs,hash:Mr.hash,skip:Mr.skip,...Mr.action,error:Mr.error,resultingState:Mr.resultingState};wr[yr.scope].push(br)}return{header:fr,state:xr,operations:wr,initialState:xr,clipboard:[]}}async getByIdOrSlug(B,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=tr?.branch||"main",dr=this.db.selectFrom("DocumentSnapshot").select("documentId").where("documentId","=",B).where("branch","=",lr).where("isDeleted","=",!1).executeTakeFirst(),mr=this.db.selectFrom("SlugMapping").select("documentId").where("slug","=",B).where("branch","=",lr).executeTakeFirst(),[_r,hr]=await Promise.all([dr,mr]);if(ir?.aborted)throw new Error("Operation aborted");const fr=_r?.documentId,gr=hr?.documentId;if(fr&&gr&&fr!==gr)throw new Error(`Ambiguous identifier "${B}": matches both document ID "${fr}" and slug for document ID "${gr}". Please use get() for ID or resolveSlug() + get() for slug to be explicit.`);const xr=fr||gr;if(!xr)throw new Error(`Document not found: ${B}`);return this.get(xr,tr,void 0,ir)}async findByType(B,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");const dr=tr?.branch||"main",mr=rr?.cursor?parseInt(rr.cursor):0,_r=rr?.limit||100,hr=[],fr=new Set,gr=[],xr=await this.db.selectFrom("DocumentSnapshot").selectAll().where("documentType","=",B).where("branch","=",dr).where("isDeleted","=",!1).orderBy("lastUpdatedAt","desc").execute();if(lr?.aborted)throw new Error("Operation aborted");for(const Ir of xr)fr.has(Ir.documentId)||(fr.add(Ir.documentId),gr.push(Ir.documentId));const wr=gr.slice(mr,mr+_r);for(const Ir of wr){if(lr?.aborted)throw new Error("Operation aborted");try{const Mr=await this.get(Ir,tr,void 0,lr);hr.push(Mr)}catch{continue}}const Sr=gr.length>mr+_r,vr=Sr?String(mr+_r):void 0;return{items:hr,nextCursor:vr,hasMore:Sr}}async resolveSlug(B,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=tr?.branch||"main",dr=await this.db.selectFrom("SlugMapping").select("documentId").where("slug","=",B).where("branch","=",lr).executeTakeFirst();if(dr){if(ir?.aborted)throw new Error("Operation aborted");if(!(tr?.scopes&&tr.scopes.length>0&&!await this.db.selectFrom("DocumentSnapshot").select("scope").where("documentId","=",dr.documentId).where("branch","=",lr).where("scope","in",tr.scopes).where("isDeleted","=",!1).executeTakeFirst()))return dr.documentId}}}class ModuleNotFoundError extends Error{constructor(B){super(`Document model module not found for type: ${B}`),this.name="ModuleNotFoundError"}}class DuplicateModuleError extends Error{constructor(B){super(`Document model module already registered for type: ${B}`),this.name="DuplicateModuleError"}}class DocumentModelRegistry{modules=new Map;registerModules(...B){for(const tr of B){const rr=tr.documentModel.global.id;if(this.modules.has(rr))throw new DuplicateModuleError(rr);this.modules.set(rr,tr)}}unregisterModules(...B){let tr=!0;for(const rr of B)this.modules.delete(rr)||(tr=!1);return tr}getModule(B){const tr=this.modules.get(B);if(tr)return tr;throw new ModuleNotFoundError(B)}getAllModules(){return Array.from(this.modules.values())}clear(){this.modules.clear()}}function makeConsistencyKey(I,B,tr){return`${I}:${B}:${tr}`}class ConsistencyTracker{state=new Map;waiters=[];update(B){const tr=this.deduplicateCoordinates(B);for(let rr=0;rr<tr.length;rr++){const ir=tr[rr],lr=makeConsistencyKey(ir.documentId,ir.scope,ir.branch),dr=this.state.get(lr);(dr===void 0||ir.operationIndex>dr)&&this.state.set(lr,ir.operationIndex)}this.checkWaiters()}getLatest(B){return this.state.get(B)}waitFor(B,tr,rr){return rr?.aborted?Promise.reject(new Error("Operation aborted")):this.areCoordinatesSatisfied(B)?Promise.resolve():new Promise((ir,lr)=>{const dr={coordinates:B,resolve:ir,reject:lr,signal:rr};if(tr!==void 0&&(dr.timeoutId=setTimeout(()=>{this.removeWaiter(dr),lr(new Error(`Consistency wait timed out after ${tr}ms`))},tr)),rr){const mr=()=>{this.removeWaiter(dr),lr(new Error("Operation aborted"))};rr.addEventListener("abort",mr,{once:!0})}this.waiters.push(dr)})}serialize(){return Array.from(this.state.entries())}hydrate(B){this.state.clear();for(const[tr,rr]of B)this.state.set(tr,rr)}deduplicateCoordinates(B){const tr=new Map;for(let rr=0;rr<B.length;rr++){const ir=B[rr],lr=makeConsistencyKey(ir.documentId,ir.scope,ir.branch),dr=tr.get(lr);(!dr||ir.operationIndex>dr.operationIndex)&&tr.set(lr,ir)}return Array.from(tr.values())}areCoordinatesSatisfied(B){for(let tr=0;tr<B.length;tr++){const rr=B[tr],ir=makeConsistencyKey(rr.documentId,rr.scope,rr.branch),lr=this.state.get(ir);if(lr===void 0||lr<rr.operationIndex)return!1}return!0}checkWaiters(){const B=[],tr=[];for(const rr of this.waiters)rr.signal?.aborted||(this.areCoordinatesSatisfied(rr.coordinates)?B.push(rr):tr.push(rr));this.waiters=tr;for(const rr of B)rr.timeoutId!==void 0&&clearTimeout(rr.timeoutId),rr.resolve()}removeWaiter(B){const tr=this.waiters.indexOf(B);tr!==-1&&this.waiters.splice(tr,1),B.timeoutId!==void 0&&clearTimeout(B.timeoutId)}}class KyselyDocumentIndexer{db;operationStore;consistencyTracker;lastOperationId=0;constructor(B,tr,rr){this.db=B,this.operationStore=tr,this.consistencyTracker=rr}async init(){const B=await this.db.selectFrom("IndexerState").selectAll().executeTakeFirst();if(B){this.lastOperationId=B.lastOperationId;const tr=await this.operationStore.getSinceId(this.lastOperationId);tr.items.length>0&&await this.indexOperations(tr.items)}else{await this.db.insertInto("IndexerState").values({lastOperationId:0}).execute();const tr=await this.operationStore.getSinceId(0);tr.items.length>0&&await this.indexOperations(tr.items)}}async indexOperations(B){if(B.length===0)return;await this.db.transaction().execute(async rr=>{for(const lr of B){const{operation:dr}=lr,mr=dr.action.type;mr==="ADD_RELATIONSHIP"?await this.handleAddRelationship(rr,dr):mr==="REMOVE_RELATIONSHIP"&&await this.handleRemoveRelationship(rr,dr)}const ir=B[B.length-1].operation.id;ir&&typeof ir=="number"&&(this.lastOperationId=ir,await rr.updateTable("IndexerState").set({lastOperationId:ir,lastOperationTimestamp:new Date}).execute())});const tr=[];for(let rr=0;rr<B.length;rr++){const ir=B[rr];tr.push({documentId:ir.context.documentId,scope:ir.context.scope,branch:ir.context.branch,operationIndex:ir.operation.index})}this.consistencyTracker.update(tr)}async waitForConsistency(B,tr,rr){B.coordinates.length!==0&&await this.consistencyTracker.waitFor(B.coordinates,tr,rr)}async getOutgoing(B,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");let lr=this.db.selectFrom("DocumentRelationship").selectAll().where("sourceId","=",B);return tr&&tr.length>0&&(lr=lr.where("relationshipType","in",tr)),(await lr.execute()).map(mr=>({sourceId:mr.sourceId,targetId:mr.targetId,relationshipType:mr.relationshipType,metadata:mr.metadata?mr.metadata:void 0,createdAt:mr.createdAt,updatedAt:mr.updatedAt}))}async getIncoming(B,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");let lr=this.db.selectFrom("DocumentRelationship").selectAll().where("targetId","=",B);return tr&&tr.length>0&&(lr=lr.where("relationshipType","in",tr)),(await lr.execute()).map(mr=>({sourceId:mr.sourceId,targetId:mr.targetId,relationshipType:mr.relationshipType,metadata:mr.metadata?mr.metadata:void 0,createdAt:mr.createdAt,updatedAt:mr.updatedAt}))}async hasRelationship(B,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");let dr=this.db.selectFrom("DocumentRelationship").select("id").where("sourceId","=",B).where("targetId","=",tr);return rr&&rr.length>0&&(dr=dr.where("relationshipType","in",rr)),await dr.executeTakeFirst()!==void 0}async getUndirectedRelationships(B,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");let dr=this.db.selectFrom("DocumentRelationship").selectAll().where(_r=>_r.or([_r.and([_r("sourceId","=",B),_r("targetId","=",tr)]),_r.and([_r("sourceId","=",tr),_r("targetId","=",B)])]));return rr&&rr.length>0&&(dr=dr.where("relationshipType","in",rr)),(await dr.execute()).map(_r=>({sourceId:_r.sourceId,targetId:_r.targetId,relationshipType:_r.relationshipType,metadata:_r.metadata?_r.metadata:void 0,createdAt:_r.createdAt,updatedAt:_r.updatedAt}))}async getDirectedRelationships(B,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");let dr=this.db.selectFrom("DocumentRelationship").selectAll().where("sourceId","=",B).where("targetId","=",tr);return rr&&rr.length>0&&(dr=dr.where("relationshipType","in",rr)),(await dr.execute()).map(_r=>({sourceId:_r.sourceId,targetId:_r.targetId,relationshipType:_r.relationshipType,metadata:_r.metadata?_r.metadata:void 0,createdAt:_r.createdAt,updatedAt:_r.updatedAt}))}async findPath(B,tr,rr,ir,lr){if(ir&&await this.waitForConsistency(ir,void 0,lr),lr?.aborted)throw new Error("Operation aborted");if(B===tr)return[B];const dr=new Set,mr=[{id:B,path:[B]}];for(;mr.length>0;){const _r=mr.shift();if(_r.id===tr)return _r.path;if(dr.has(_r.id))continue;dr.add(_r.id);const hr=await this.getOutgoing(_r.id,rr,void 0,lr);for(const fr of hr)dr.has(fr.targetId)||mr.push({id:fr.targetId,path:[..._r.path,fr.targetId]})}return null}async findAncestors(B,tr,rr,ir){if(rr&&await this.waitForConsistency(rr,void 0,ir),ir?.aborted)throw new Error("Operation aborted");const lr=new Set([B]),dr=[],mr=[B],_r=new Set;for(;mr.length>0;){const hr=mr.shift();if(_r.has(hr))continue;_r.add(hr);const fr=await this.getIncoming(hr,tr,void 0,ir);for(const gr of fr)lr.add(gr.sourceId),dr.push({from:gr.sourceId,to:gr.targetId,type:gr.relationshipType}),_r.has(gr.sourceId)||mr.push(gr.sourceId)}return{nodes:Array.from(lr),edges:dr}}async getRelationshipTypes(B,tr){if(B&&await this.waitForConsistency(B,void 0,tr),tr?.aborted)throw new Error("Operation aborted");return(await this.db.selectFrom("DocumentRelationship").select("relationshipType").distinct().execute()).map(ir=>ir.relationshipType)}async handleAddRelationship(B,tr){const rr=tr.action.input;if(await B.selectFrom("Document").select("id").where("id","=",rr.sourceId).executeTakeFirst()||await B.insertInto("Document").values({id:rr.sourceId}).execute(),await B.selectFrom("Document").select("id").where("id","=",rr.targetId).executeTakeFirst()||await B.insertInto("Document").values({id:rr.targetId}).execute(),!await B.selectFrom("DocumentRelationship").select("id").where("sourceId","=",rr.sourceId).where("targetId","=",rr.targetId).where("relationshipType","=",rr.relationshipType).executeTakeFirst()){const mr={id:v4(),sourceId:rr.sourceId,targetId:rr.targetId,relationshipType:rr.relationshipType,metadata:rr.metadata||null};await B.insertInto("DocumentRelationship").values(mr).execute()}}async handleRemoveRelationship(B,tr){const rr=tr.action.input;await B.deleteFrom("DocumentRelationship").where("sourceId","=",rr.sourceId).where("targetId","=",rr.targetId).where("relationshipType","=",rr.relationshipType).execute()}}class KyselyKeyframeStore{db;constructor(B){this.db=B}async putKeyframe(B,tr,rr,ir,lr,dr){if(dr?.aborted)throw new Error("Operation aborted");await this.db.insertInto("Keyframe").values({documentId:B,documentType:lr.header.documentType,scope:tr,branch:rr,revision:ir,document:lr}).onConflict(mr=>mr.columns(["documentId","scope","branch","revision"]).doUpdateSet({document:lr})).execute()}async findNearestKeyframe(B,tr,rr,ir,lr){if(lr?.aborted)throw new Error("Operation aborted");const dr=await this.db.selectFrom("Keyframe").selectAll().where("documentId","=",B).where("scope","=",tr).where("branch","=",rr).where("revision","<=",ir).orderBy("revision","desc").limit(1).executeTakeFirst();if(dr)return{revision:dr.revision,document:dr.document}}async deleteKeyframes(B,tr,rr,ir){if(ir?.aborted)throw new Error("Operation aborted");let lr=this.db.deleteFrom("Keyframe").where("documentId","=",B);tr!==void 0&&rr!==void 0?lr=lr.where("scope","=",tr).where("branch","=",rr):tr!==void 0&&(lr=lr.where("scope","=",tr));const dr=await lr.executeTakeFirst();return Number(dr.numDeletedRows||0n)}}class DuplicateOperationError extends Error{constructor(B){super(`Operation with opId ${B} already exists`),this.name="DuplicateOperationError"}}class RevisionMismatchError extends Error{constructor(B,tr){super(`Revision mismatch: expected ${B}, got ${tr}`),this.name="RevisionMismatchError"}}class AtomicTransaction{documentId;documentType;scope;branch;baseRevision;operations=[];constructor(B,tr,rr,ir,lr){this.documentId=B,this.documentType=tr,this.scope=rr,this.branch=ir,this.baseRevision=lr}addOperations(...B){for(const tr of B)this.operations.push({jobId:v4(),opId:tr.id||v4(),prevOpId:"",documentId:this.documentId,documentType:this.documentType,scope:this.scope,branch:this.branch,timestampUtcMs:new Date(tr.timestampUtcMs),index:tr.index,action:JSON.stringify(tr.action),skip:tr.skip,error:tr.error||null,hash:tr.hash})}getOperations(){return this.operations}}class KyselyOperationStore{db;constructor(B){this.db=B}async apply(B,tr,rr,ir,lr,dr,mr){await this.db.transaction().execute(async _r=>{if(mr?.aborted)throw new Error("Operation aborted");const hr=await _r.selectFrom("Operation").selectAll().where("documentId","=",B).where("scope","=",rr).where("branch","=",ir).orderBy("index","desc").limit(1).executeTakeFirst(),fr=hr?hr.index:-1;if(fr!==lr-1)throw new RevisionMismatchError(lr-1,fr);const gr=new AtomicTransaction(B,tr,rr,ir,lr);await dr(gr);const xr=gr.getOperations();if(xr.length>0){let wr=hr?.opId||"";for(const Sr of xr)Sr.prevOpId=wr,wr=Sr.opId;try{await _r.insertInto("Operation").values(xr).execute()}catch(Sr){if(Sr instanceof Error){if(Sr.message.includes("unique constraint")){const vr=xr[0]?.opId||"unknown";throw new DuplicateOperationError(vr)}throw Sr}throw Sr}}})}async getSince(B,tr,rr,ir,lr,dr){if(dr?.aborted)throw new Error("Operation aborted");let mr=this.db.selectFrom("Operation").selectAll().where("documentId","=",B).where("scope","=",tr).where("branch","=",rr).where("index",">",ir).orderBy("index","asc");if(lr){if(lr.cursor){const xr=Number.parseInt(lr.cursor,10);mr=mr.where("index",">",xr)}lr.limit&&(mr=mr.limit(lr.limit+1))}const _r=await mr.execute();let hr=!1,fr=_r;lr?.limit&&_r.length>lr.limit&&(hr=!0,fr=_r.slice(0,lr.limit));const gr=hr&&fr.length>0?fr[fr.length-1].index.toString():void 0;return{items:fr.map(xr=>this.rowToOperation(xr)),nextCursor:gr,hasMore:hr}}async getSinceId(B,tr,rr){if(rr?.aborted)throw new Error("Operation aborted");let ir=this.db.selectFrom("Operation").selectAll().where("id",">",B).orderBy("id","asc");if(tr){if(tr.cursor){const hr=Number.parseInt(tr.cursor,10);ir=ir.where("id",">",hr)}tr.limit&&(ir=ir.limit(tr.limit+1))}const lr=await ir.execute();let dr=!1,mr=lr;tr?.limit&&lr.length>tr.limit&&(dr=!0,mr=lr.slice(0,tr.limit));const _r=dr&&mr.length>0?mr[mr.length-1].id.toString():void 0;return{items:mr.map(hr=>this.rowToOperationWithContext(hr)),nextCursor:_r,hasMore:dr}}async getRevisions(B,tr,rr){if(rr?.aborted)throw new Error("Operation aborted");const ir=await this.db.selectFrom("Operation as o1").select(["o1.scope","o1.index","o1.timestampUtcMs"]).where("o1.documentId","=",B).where("o1.branch","=",tr).where(mr=>mr("o1.index","=",mr.selectFrom("Operation as o2").select(_r=>_r.fn.max("o2.index").as("maxIndex")).where("o2.documentId","=",mr.ref("o1.documentId")).where("o2.branch","=",mr.ref("o1.branch")).where("o2.scope","=",mr.ref("o1.scope")))).execute(),lr={};let dr=new Date(0).toISOString();for(const mr of ir){lr[mr.scope]=mr.index+1;const _r=mr.timestampUtcMs.toISOString();_r>dr&&(dr=_r)}return{revision:lr,latestTimestamp:dr}}rowToOperation(B){return{index:B.index,timestampUtcMs:B.timestampUtcMs.toISOString(),hash:B.hash,skip:B.skip,error:B.error||void 0,id:B.opId,action:B.action}}rowToOperationWithContext(B){return{operation:this.rowToOperation(B),context:{documentId:B.documentId,documentType:B.documentType,scope:B.scope,branch:B.branch}}}}function createMutableShutdownStatus(I=!1){let B=I;return[{get isShutdown(){return B}},ir=>{B=ir}]}function matchesScope(I={},B){return I.scopes?I.scopes.includes(B):!0}class Reactor{driveServer;documentStorage;shutdownStatus;setShutdown;queue;jobTracker;readModelCoordinator;features;documentView;_documentIndexer;operationStore;constructor(B,tr,rr,ir,lr,dr,mr,_r,hr){this.driveServer=B,this.documentStorage=tr,this.queue=rr,this.jobTracker=ir,this.readModelCoordinator=lr,this.features=dr,this.documentView=mr,this._documentIndexer=_r,this.operationStore=hr;const[fr,gr]=createMutableShutdownStatus(!1);this.shutdownStatus=fr,this.setShutdown=gr,this.readModelCoordinator.start()}kill(){return this.setShutdown(!0),this.readModelCoordinator.stop(),this.jobTracker.shutdown(),this.shutdownStatus}getDocumentModels(B,tr,rr){const lr=this.driveServer.getDocumentModelModules().filter(gr=>!B||gr.documentModel.global.id.startsWith(B)),dr=tr&&parseInt(tr.cursor)||0,mr=tr?.limit||lr.length,_r=lr.slice(dr,dr+mr),hr=dr+mr<lr.length,fr=hr?String(dr+mr):void 0;if(rr?.aborted)throw new AbortError;return Promise.resolve({results:_r,options:tr||{cursor:"0",limit:lr.length},nextCursor:fr,next:hr?()=>this.getDocumentModels(B,{cursor:fr,limit:mr},rr):void 0})}async get(B,tr,rr,ir){if(this.features.legacyStorageEnabled){const lr=await this.documentStorage.get(B);if(ir?.aborted)throw new AbortError;const dr=await this.documentStorage.getChildren(B);if(ir?.aborted)throw new AbortError;for(const mr in lr.state)matchesScope(tr,mr)||delete lr.state[mr];return{document:lr,childIds:dr}}else{const lr=await this.documentView.get(B,tr,rr,ir);if(ir?.aborted)throw new AbortError;const dr=await this._documentIndexer.getOutgoing(B,["child"],rr,ir);if(ir?.aborted)throw new AbortError;const mr=dr.map(_r=>_r.targetId);return{document:lr,childIds:mr}}}async getBySlug(B,tr,rr,ir){if(this.features.legacyStorageEnabled){let lr;try{lr=await this.documentStorage.resolveIds([B],ir)}catch(dr){throw dr instanceof Error&&dr.message.includes("not found")?new Error(`Document not found with slug: ${B}`):dr}if(lr.length===0||!lr[0])throw new Error(`Document not found with slug: ${B}`);return await this.get(lr[0],tr,rr,ir)}else{const lr=await this.documentView.resolveSlug(B,tr,rr,ir);if(!lr)throw new Error(`Document not found with slug: ${B}`);return await this.get(lr,tr,rr,ir)}}async getByIdOrSlug(B,tr,rr,ir){if(this.features.legacyStorageEnabled)try{return await this.get(B,tr,rr,ir)}catch{try{const lr=await this.documentStorage.resolveIds([B],ir);if(lr.length===0||!lr[0])throw new Error(`Document not found: ${B}`);return await this.get(lr[0],tr,rr,ir)}catch{throw new Error(`Document not found: ${B}`)}}else{const lr=await this.documentView.getByIdOrSlug(B,tr,rr,ir);if(ir?.aborted)throw new AbortError;const dr=await this._documentIndexer.getOutgoing(lr.header.id,["child"],rr,ir);if(ir?.aborted)throw new AbortError;const mr=dr.map(_r=>_r.targetId);return{document:lr,childIds:mr}}}async getOperations(B,tr,rr,ir,lr){if(this.features.legacyStorageEnabled){const dr=await this.documentStorage.get(B);if(lr?.aborted)throw new AbortError;const mr=dr.operations,_r={};for(const hr in mr)if(matchesScope(tr,hr)){const fr=mr[hr],gr=rr&&parseInt(rr.cursor)||0,xr=rr?.limit||fr.length,wr=fr.slice(gr,gr+xr);_r[hr]={results:wr,options:{cursor:String(gr+xr),limit:xr}}}return Promise.resolve(_r)}else{const dr=tr?.branch||"main",mr=await this.operationStore.getRevisions(B,dr,lr);if(lr?.aborted)throw new AbortError;const _r=Object.keys(mr.revision),hr={};for(const fr of _r){if(!matchesScope(tr,fr))continue;if(lr?.aborted)throw new AbortError;const gr=await this.operationStore.getSince(B,fr,dr,-1,rr,lr),xr=rr?.cursor?parseInt(rr.cursor):0,wr=rr?.limit||100;hr[fr]={results:gr.items,options:{cursor:gr.nextCursor||String(xr),limit:wr},nextCursor:gr.nextCursor,next:gr.hasMore?async()=>(await this.getOperations(B,tr,{cursor:gr.nextCursor,limit:wr},ir,lr))[fr]:void 0}}return hr}}async find(B,tr,rr,ir,lr){let dr;if(B.ids){if(B.slugs&&B.slugs.length>0)throw new Error("Cannot use both ids and slugs in the same search");dr=await this.findByIds(B.ids,tr,rr,ir,lr),B.type&&(dr=filterByType(dr,B.type))}else if(B.slugs)dr=await this.findBySlugs(B.slugs,tr,rr,ir,lr),B.type&&(dr=filterByType(dr,B.type));else if(B.parentId)dr=await this.findByParentId(B.parentId,tr,rr,lr),B.type&&(dr=filterByType(dr,B.type));else if(B.type)dr=await this.findByType(B.type,tr,rr,ir,lr);else throw new Error("No search criteria provided");if(lr?.aborted)throw new AbortError;return dr}async create(B,tr,rr){const ir=new Date().toISOString();if(rr?.aborted)throw new AbortError;const lr={model:B.header.documentType,version:"0.0.0",documentId:B.header.id};lr.signing={signature:B.header.id,publicKey:B.header.sig.publicKey,nonce:B.header.sig.nonce,createdAtUtcIso:B.header.createdAtUtcIso,documentType:B.header.documentType},lr.slug=B.header.slug,lr.name=B.header.name,lr.branch=B.header.branch,lr.meta=B.header.meta;const dr={id:`${B.header.id}-create`,type:"CREATE_DOCUMENT",scope:"document",timestampUtcMs:new Date().toISOString(),input:lr},mr={model:B.header.documentType,fromVersion:"0.0.0",toVersion:"0.0.0",documentId:B.header.id,initialState:B.state},_r={id:`${B.header.id}-upgrade`,type:"UPGRADE_DOCUMENT",scope:"document",timestampUtcMs:new Date().toISOString(),input:mr};let hr=[dr,_r];tr&&(hr=await signActions(hr,tr,rr));const fr={id:v4(),kind:"mutation",documentId:B.header.id,scope:"document",branch:"main",actions:hr,operations:[],createdAt:new Date().toISOString(),queueHint:[],maxRetries:3,errorHistory:[]},gr={id:fr.id,status:JobStatus.PENDING,createdAtUtcIso:ir,consistencyToken:{version:1,createdAtUtcIso:ir,coordinates:[]}};return this.jobTracker.registerJob(gr),await this.queue.enqueue(fr),gr}async deleteDocument(B,tr,rr){const ir=new Date().toISOString();if(rr?.aborted)throw new AbortError;const lr={documentId:B};let dr={id:`${B}-delete`,type:"DELETE_DOCUMENT",scope:"document",timestampUtcMs:new Date().toISOString(),input:lr};tr&&(dr=await signAction(dr,tr,rr));const mr={id:v4(),kind:"mutation",documentId:B,scope:"document",branch:"main",actions:[dr],operations:[],createdAt:new Date().toISOString(),queueHint:[],maxRetries:3,errorHistory:[]},_r={id:mr.id,status:JobStatus.PENDING,createdAtUtcIso:ir,consistencyToken:{version:1,createdAtUtcIso:ir,coordinates:[]}};return this.jobTracker.registerJob(_r),await this.queue.enqueue(mr),_r}async execute(B,tr,rr,ir){if(ir?.aborted)throw new AbortError;const lr=new Date().toISOString(),dr=rr.length>0&&rr[0].scope||"global",mr={id:v4(),kind:"mutation",documentId:B,scope:dr,branch:tr,actions:rr,operations:[],createdAt:new Date().toISOString(),queueHint:[],maxRetries:3,errorHistory:[]},_r={id:mr.id,status:JobStatus.PENDING,createdAtUtcIso:lr,consistencyToken:{version:1,createdAtUtcIso:lr,coordinates:[]}};if(this.jobTracker.registerJob(_r),await this.queue.enqueue(mr),ir?.aborted)throw new AbortError;return _r}async load(B,tr,rr,ir){if(ir?.aborted)throw new AbortError;if(rr.length===0)throw new Error("load requires at least one operation");const lr=getSharedScope(rr);rr.forEach((hr,fr)=>{if(!hr.timestampUtcMs)throw new Error(`Operation at position ${fr} is missing timestampUtcMs`)});const dr=new Date().toISOString(),mr={id:v4(),kind:"load",documentId:B,scope:lr,branch:tr,actions:[],operations:rr,createdAt:dr,queueHint:[],maxRetries:3,errorHistory:[]},_r={id:mr.id,status:JobStatus.PENDING,createdAtUtcIso:dr,consistencyToken:{version:1,createdAtUtcIso:dr,coordinates:[]}};if(this.jobTracker.registerJob(_r),await this.queue.enqueue(mr),ir?.aborted)throw new AbortError;return _r}async executeBatch(B,tr){if(tr?.aborted)throw new AbortError;validateBatchRequest(B.jobs);for(const hr of B.jobs)validateActionScopes(hr);const rr=new Date().toISOString(),ir=new Map;for(const hr of B.jobs)ir.set(hr.key,v4());const lr=new Map;for(const hr of B.jobs){const gr={id:ir.get(hr.key),status:JobStatus.PENDING,createdAtUtcIso:rr,consistencyToken:{version:1,createdAtUtcIso:rr,coordinates:[]}};this.jobTracker.registerJob(gr),lr.set(hr.key,gr)}const dr=topologicalSort(B.jobs),mr=[];try{for(const hr of dr){if(tr?.aborted)throw new AbortError;const fr=B.jobs.find(Sr=>Sr.key===hr),gr=ir.get(hr),xr=fr.dependsOn.map(Sr=>ir.get(Sr)),wr={id:gr,kind:"mutation",documentId:fr.documentId,scope:fr.scope,branch:fr.branch,actions:fr.actions,operations:[],createdAt:rr,queueHint:xr,maxRetries:3,errorHistory:[]};await this.queue.enqueue(wr),mr.push(hr)}}catch(hr){for(const fr of mr){const gr=ir.get(fr);try{await this.queue.remove(gr)}catch{}}for(const fr of lr.values())this.jobTracker.markFailed(fr.id,toErrorInfo("Batch enqueue failed"));throw hr}return{jobs:Object.fromEntries(lr)}}async addChildren(B,tr,rr="main",ir,lr){if(lr?.aborted)throw new AbortError;let dr=tr.map(mr=>({id:v4(),type:"ADD_RELATIONSHIP",scope:"document",timestampUtcMs:new Date().toISOString(),input:{sourceId:B,targetId:mr,relationshipType:"child"}}));return ir&&(dr=await signActions(dr,ir,lr)),await this.execute(B,rr,dr,lr)}async removeChildren(B,tr,rr="main",ir,lr){if(lr?.aborted)throw new AbortError;let dr=tr.map(mr=>({id:v4(),type:"REMOVE_RELATIONSHIP",scope:"document",timestampUtcMs:new Date().toISOString(),input:{sourceId:B,targetId:mr,relationshipType:"child"}}));return ir&&(dr=await signActions(dr,ir,lr)),await this.execute(B,rr,dr,lr)}getJobStatus(B,tr){if(tr?.aborted)throw new AbortError;const rr=this.jobTracker.getJobStatus(B);if(!rr){const ir=new Date().toISOString();return Promise.resolve({id:B,status:JobStatus.FAILED,createdAtUtcIso:ir,completedAtUtcIso:ir,error:toErrorInfo("Job not found"),consistencyToken:{version:1,createdAtUtcIso:ir,coordinates:[]}})}return Promise.resolve(rr)}async findByIds(B,tr,rr,ir,lr){if(ir&&await this.documentView.waitForConsistency(ir,void 0,lr),this.features.legacyStorageEnabled){const dr=[];for(const xr of B){if(lr?.aborted)throw new AbortError;let wr;try{wr=await this.documentStorage.get(xr)}catch{continue}for(const Sr in wr.state)matchesScope(tr,Sr)||delete wr.state[Sr];dr.push(wr)}if(lr?.aborted)throw new AbortError;const mr=rr&&parseInt(rr.cursor)||0,_r=rr?.limit||dr.length,hr=dr.slice(mr,mr+_r),fr=mr+_r<dr.length,gr=fr?String(mr+_r):void 0;return{results:hr,options:rr||{cursor:"0",limit:dr.length},nextCursor:gr,next:fr?()=>this.findByIds(B,tr,{cursor:gr,limit:_r},void 0,lr):void 0}}else{const dr=[];for(const xr of B){if(lr?.aborted)throw new AbortError;try{const wr=await this.documentView.get(xr,tr,void 0,lr);dr.push(wr)}catch{continue}}if(lr?.aborted)throw new AbortError;const mr=rr&&parseInt(rr.cursor)||0,_r=rr?.limit||dr.length,hr=dr.slice(mr,mr+_r),fr=mr+_r<dr.length,gr=fr?String(mr+_r):void 0;return{results:hr,options:rr||{cursor:"0",limit:dr.length},nextCursor:gr,next:fr?()=>this.findByIds(B,tr,{cursor:gr,limit:_r},void 0,lr):void 0}}}async findBySlugs(B,tr,rr,ir,lr){if(ir&&await this.documentView.waitForConsistency(ir,void 0,lr),this.features.legacyStorageEnabled){const dr=[];let mr;try{mr=await this.documentStorage.resolveIds(B,lr)}catch{mr=[]}for(const wr of mr){if(lr?.aborted)throw new AbortError;let Sr;try{Sr=await this.documentStorage.get(wr)}catch{continue}for(const vr in Sr.state)matchesScope(tr,vr)||delete Sr.state[vr];dr.push(Sr)}if(lr?.aborted)throw new AbortError;const _r=rr&&parseInt(rr.cursor)||0,hr=rr?.limit||dr.length,fr=dr.slice(_r,_r+hr),gr=_r+hr<dr.length,xr=gr?String(_r+hr):void 0;return{results:fr,options:rr||{cursor:"0",limit:dr.length},nextCursor:xr,next:gr?()=>this.findBySlugs(B,tr,{cursor:xr,limit:hr},void 0,lr):void 0}}else{const dr=[],mr=[];for(const wr of B){if(lr?.aborted)throw new AbortError;const Sr=await this.documentView.resolveSlug(wr,tr,void 0,lr);Sr&&mr.push(Sr)}for(const wr of mr){if(lr?.aborted)throw new AbortError;try{const Sr=await this.documentView.get(wr,tr,void 0,lr);dr.push(Sr)}catch{continue}}if(lr?.aborted)throw new AbortError;const _r=rr&&parseInt(rr.cursor)||0,hr=rr?.limit||dr.length,fr=dr.slice(_r,_r+hr),gr=_r+hr<dr.length,xr=gr?String(_r+hr):void 0;return{results:fr,options:rr||{cursor:"0",limit:dr.length},nextCursor:xr,next:gr?()=>this.findBySlugs(B,tr,{cursor:xr,limit:hr},void 0,lr):void 0}}}async findByParentId(B,tr,rr,ir){const lr=await this._documentIndexer.getOutgoing(B,["child"],void 0,ir);if(ir?.aborted)throw new AbortError;const dr=[];for(const xr of lr){if(ir?.aborted)throw new AbortError;try{let wr;if(this.features.legacyStorageEnabled){wr=await this.documentStorage.get(xr.targetId);for(const Sr in wr.state)matchesScope(tr,Sr)||delete wr.state[Sr]}else wr=await this.documentView.get(xr.targetId,tr,void 0,ir);dr.push(wr)}catch{continue}}if(ir?.aborted)throw new AbortError;const mr=rr&&parseInt(rr.cursor)||0,_r=rr?.limit||dr.length,hr=dr.slice(mr,mr+_r),fr=mr+_r<dr.length,gr=fr?String(mr+_r):void 0;return{results:hr,options:rr||{cursor:"0",limit:dr.length},nextCursor:gr,next:fr?()=>this.findByParentId(B,tr,{cursor:gr,limit:_r},ir):void 0}}async findByType(B,tr,rr,ir,lr){if(ir&&await this.documentView.waitForConsistency(ir,void 0,lr),this.features.legacyStorageEnabled){const dr=[],mr=rr?.cursor,_r=rr?.limit||100,{documents:hr,nextCursor:fr}=await this.documentStorage.findByType(B,_r,mr);if(lr?.aborted)throw new AbortError;for(const gr of hr){if(lr?.aborted)throw new AbortError;let xr;try{xr=await this.documentStorage.get(gr)}catch{continue}for(const wr in xr.state)matchesScope(tr,wr)||delete xr.state[wr];dr.push(xr)}if(lr?.aborted)throw new AbortError;return{results:dr,options:rr||{cursor:mr||"0",limit:_r},nextCursor:fr,next:fr?async()=>this.findByType(B,tr,{cursor:fr,limit:_r},void 0,lr):void 0}}else{const dr=await this.documentView.findByType(B,tr,rr,void 0,lr);if(lr?.aborted)throw new AbortError;const mr=rr?.cursor,_r=rr?.limit||100;return{results:dr.items,options:rr||{cursor:mr||"0",limit:_r},nextCursor:dr.nextCursor,next:dr.nextCursor?async()=>this.findByType(B,tr,{cursor:dr.nextCursor,limit:_r},void 0,lr):void 0}}}}async function up$9(I){await I.schema.createTable("Operation").addColumn("id","serial",B=>B.primaryKey()).addColumn("jobId","text",B=>B.notNull()).addColumn("opId","text",B=>B.notNull().unique()).addColumn("prevOpId","text",B=>B.notNull()).addColumn("writeTimestampUtcMs","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("documentId","text",B=>B.notNull()).addColumn("documentType","text",B=>B.notNull()).addColumn("scope","text",B=>B.notNull()).addColumn("branch","text",B=>B.notNull()).addColumn("timestampUtcMs","timestamptz",B=>B.notNull()).addColumn("index","integer",B=>B.notNull()).addColumn("action","jsonb",B=>B.notNull()).addColumn("skip","integer",B=>B.notNull()).addColumn("error","text").addColumn("hash","text",B=>B.notNull()).addUniqueConstraint("unique_revision",["documentId","scope","branch","index"]).execute(),await I.schema.createIndex("streamOperations").on("Operation").columns(["documentId","scope","branch","id"]).execute(),await I.schema.createIndex("branchlessStreamOperations").on("Operation").columns(["documentId","scope","id"]).execute()}const migration001=Object.freeze(Object.defineProperty({__proto__:null,up:up$9},Symbol.toStringTag,{value:"Module"}));async function up$8(I){await I.schema.createTable("Keyframe").addColumn("id","serial",B=>B.primaryKey()).addColumn("documentId","text",B=>B.notNull()).addColumn("documentType","text",B=>B.notNull()).addColumn("scope","text",B=>B.notNull()).addColumn("branch","text",B=>B.notNull()).addColumn("revision","integer",B=>B.notNull()).addColumn("document","jsonb",B=>B.notNull()).addColumn("createdAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addUniqueConstraint("unique_keyframe",["documentId","scope","branch","revision"]).execute(),await I.schema.createIndex("keyframe_lookup").on("Keyframe").columns(["documentId","scope","branch","revision"]).execute()}const migration002=Object.freeze(Object.defineProperty({__proto__:null,up:up$8},Symbol.toStringTag,{value:"Module"}));async function up$7(I){await I.schema.createTable("Document").addColumn("id","text",B=>B.primaryKey()).addColumn("createdAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("updatedAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).execute()}const migration003=Object.freeze(Object.defineProperty({__proto__:null,up:up$7},Symbol.toStringTag,{value:"Module"}));async function up$6(I){await I.schema.createTable("DocumentRelationship").addColumn("id","text",B=>B.primaryKey()).addColumn("sourceId","text",B=>B.notNull().references("Document.id").onDelete("cascade")).addColumn("targetId","text",B=>B.notNull().references("Document.id").onDelete("cascade")).addColumn("relationshipType","text",B=>B.notNull()).addColumn("metadata","jsonb").addColumn("createdAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("updatedAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addUniqueConstraint("unique_source_target_type",["sourceId","targetId","relationshipType"]).execute(),await I.schema.createIndex("idx_relationship_source").on("DocumentRelationship").column("sourceId").execute(),await I.schema.createIndex("idx_relationship_target").on("DocumentRelationship").column("targetId").execute(),await I.schema.createIndex("idx_relationship_type").on("DocumentRelationship").column("relationshipType").execute()}const migration004=Object.freeze(Object.defineProperty({__proto__:null,up:up$6},Symbol.toStringTag,{value:"Module"}));async function up$5(I){await I.schema.createTable("IndexerState").addColumn("id","integer",B=>B.primaryKey().generatedAlwaysAsIdentity()).addColumn("lastOperationId","integer",B=>B.notNull()).addColumn("lastOperationTimestamp","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).execute()}const migration005=Object.freeze(Object.defineProperty({__proto__:null,up:up$5},Symbol.toStringTag,{value:"Module"}));async function up$4(I){await I.schema.createTable("DocumentSnapshot").addColumn("id","text",B=>B.primaryKey()).addColumn("documentId","text",B=>B.notNull()).addColumn("slug","text").addColumn("name","text").addColumn("scope","text",B=>B.notNull()).addColumn("branch","text",B=>B.notNull()).addColumn("content","jsonb",B=>B.notNull()).addColumn("documentType","text",B=>B.notNull()).addColumn("lastOperationIndex","integer",B=>B.notNull()).addColumn("lastOperationHash","text",B=>B.notNull()).addColumn("lastUpdatedAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("snapshotVersion","integer",B=>B.notNull().defaultTo(1)).addColumn("identifiers","jsonb").addColumn("metadata","jsonb").addColumn("isDeleted","boolean",B=>B.notNull().defaultTo(!1)).addColumn("deletedAt","timestamptz").addUniqueConstraint("unique_doc_scope_branch",["documentId","scope","branch"]).execute(),await I.schema.createIndex("idx_slug_scope_branch").on("DocumentSnapshot").columns(["slug","scope","branch"]).execute(),await I.schema.createIndex("idx_doctype_scope_branch").on("DocumentSnapshot").columns(["documentType","scope","branch"]).execute(),await I.schema.createIndex("idx_last_updated").on("DocumentSnapshot").column("lastUpdatedAt").execute(),await I.schema.createIndex("idx_is_deleted").on("DocumentSnapshot").column("isDeleted").execute()}const migration006=Object.freeze(Object.defineProperty({__proto__:null,up:up$4},Symbol.toStringTag,{value:"Module"}));async function up$3(I){await I.schema.createTable("SlugMapping").addColumn("slug","text",B=>B.primaryKey()).addColumn("documentId","text",B=>B.notNull()).addColumn("scope","text",B=>B.notNull()).addColumn("branch","text",B=>B.notNull()).addColumn("createdAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("updatedAt","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addUniqueConstraint("unique_docid_scope_branch",["documentId","scope","branch"]).execute(),await I.schema.createIndex("idx_slug_documentid").on("SlugMapping").column("documentId").execute()}const migration007=Object.freeze(Object.defineProperty({__proto__:null,up:up$3},Symbol.toStringTag,{value:"Module"}));async function up$2(I){await I.schema.createTable("ViewState").addColumn("lastOperationId","integer",B=>B.primaryKey()).addColumn("lastOperationTimestamp","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).execute()}const migration008=Object.freeze(Object.defineProperty({__proto__:null,up:up$2},Symbol.toStringTag,{value:"Module"}));async function up$1(I){await I.schema.createTable("document_collections").addColumn("documentId","text",B=>B.notNull()).addColumn("collectionId","text",B=>B.notNull()).addColumn("joinedOrdinal","bigint",B=>B.notNull().defaultTo(0)).addColumn("leftOrdinal","bigint").addPrimaryKeyConstraint("document_collections_pkey",["documentId","collectionId"]).execute(),await I.schema.createIndex("idx_document_collections_collectionId").on("document_collections").column("collectionId").execute(),await I.schema.createIndex("idx_doc_collections_collection_range").on("document_collections").columns(["collectionId","joinedOrdinal"]).execute(),await I.schema.createTable("operation_index_operations").addColumn("ordinal","serial",B=>B.primaryKey()).addColumn("opId","text",B=>B.notNull()).addColumn("documentId","text",B=>B.notNull()).addColumn("documentType","text",B=>B.notNull()).addColumn("scope","text",B=>B.notNull()).addColumn("branch","text",B=>B.notNull()).addColumn("timestampUtcMs","bigint",B=>B.notNull()).addColumn("writeTimestampUtcMs","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("index","integer",B=>B.notNull()).addColumn("skip","integer",B=>B.notNull()).addColumn("hash","text",B=>B.notNull()).addColumn("action","jsonb",B=>B.notNull()).execute(),await I.schema.createIndex("idx_operation_index_operations_document").on("operation_index_operations").columns(["documentId","branch","scope"]).execute(),await I.schema.createIndex("idx_operation_index_operations_ordinal").on("operation_index_operations").column("ordinal").execute()}const migration009=Object.freeze(Object.defineProperty({__proto__:null,up:up$1},Symbol.toStringTag,{value:"Module"}));async function up(I){await I.schema.createTable("sync_remotes").addColumn("name","text",B=>B.primaryKey()).addColumn("collection_id","text",B=>B.notNull()).addColumn("channel_type","text",B=>B.notNull()).addColumn("channel_id","text",B=>B.notNull().defaultTo("")).addColumn("remote_name","text",B=>B.notNull().defaultTo("")).addColumn("channel_parameters","jsonb",B=>B.notNull().defaultTo(sql`'{}'::jsonb`)).addColumn("filter_document_ids","jsonb").addColumn("filter_scopes","jsonb").addColumn("filter_branch","text",B=>B.notNull().defaultTo("main")).addColumn("push_state","text",B=>B.notNull().defaultTo("idle")).addColumn("push_last_success_utc_ms","bigint").addColumn("push_last_failure_utc_ms","bigint").addColumn("push_failure_count","integer",B=>B.notNull().defaultTo(0)).addColumn("pull_state","text",B=>B.notNull().defaultTo("idle")).addColumn("pull_last_success_utc_ms","bigint").addColumn("pull_last_failure_utc_ms","bigint").addColumn("pull_failure_count","integer",B=>B.notNull().defaultTo(0)).addColumn("created_at","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).addColumn("updated_at","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).execute(),await I.schema.createIndex("idx_sync_remotes_collection").on("sync_remotes").column("collection_id").execute(),await I.schema.createTable("sync_cursors").addColumn("remote_name","text",B=>B.primaryKey().references("sync_remotes.name").onDelete("cascade")).addColumn("cursor_ordinal","bigint",B=>B.notNull().defaultTo(0)).addColumn("last_synced_at_utc_ms","bigint").addColumn("updated_at","timestamptz",B=>B.notNull().defaultTo(sql`NOW()`)).execute(),await I.schema.createIndex("idx_sync_cursors_ordinal").on("sync_cursors").column("cursor_ordinal").execute()}const migration010=Object.freeze(Object.defineProperty({__proto__:null,up},Symbol.toStringTag,{value:"Module"})),migrations={"001_create_operation_table":migration001,"002_create_keyframe_table":migration002,"003_create_document_table":migration003,"004_create_document_relationship_table":migration004,"005_create_indexer_state_table":migration005,"006_create_document_snapshot_table":migration006,"007_create_slug_mapping_table":migration007,"008_create_view_state_table":migration008,"009_create_operation_index_tables":migration009,"010_create_sync_tables":migration010};class ProgrammaticMigrationProvider{getMigrations(){return Promise.resolve(migrations)}}async function runMigrations(I){const B=new Migrator({db:I,provider:new ProgrammaticMigrationProvider}),{error:tr,results:rr}=await B.migrateToLatest(),ir=rr?.map(lr=>lr.migrationName)??[];return tr?{success:!1,migrationsExecuted:ir,error:tr instanceof Error?tr:new Error("Unknown migration error")}:{success:!0,migrationsExecuted:ir}}class ReactorBuilder{documentModels=[];storage;features={legacyStorageEnabled:!0};readModels=[];executorManager;executorConfig={count:1};writeCacheConfig;readModelCoordinatorFactory;migrationStrategy="auto";syncBuilder;eventBus;documentIndexer;signatureVerifier;kyselyInstance;withDocumentModels(B){return this.documentModels=B,this}withLegacyStorage(B){return this.storage=B,this}withFeatures(B){return this.features={...this.features,...B},this}withReadModel(B){return this.readModels.push(B),this}withReadModelCoordinatorFactory(B){return this.readModelCoordinatorFactory=B,this}withExecutor(B){return this.executorManager=B,this}withExecutorConfig(B){return this.executorConfig={...this.executorConfig,...B},this}withWriteCacheConfig(B){return this.writeCacheConfig=B,this}withMigrationStrategy(B){return this.migrationStrategy=B,this}withSync(B){return this.syncBuilder=B,this}withEventBus(B){return this.eventBus=B,this}withSignatureVerifier(B){return this.signatureVerifier=B,this}withKysely(B){return this.kyselyInstance=B,this}async build(){return(await this.buildModule()).reactor}async buildModule(){const B=this.storage||new MemoryStorage,tr=new DocumentModelRegistry;this.documentModels.length>0&&tr.registerModules(...this.documentModels);const ir=new ReactorBuilder$1(this.documentModels).withStorage(B).build();await ir.initialize();const lr=this.kyselyInstance??new Kysely({dialect:new PGliteDialect(new Ue)});if(this.migrationStrategy==="auto"){const Ar=await runMigrations(lr);if(!Ar.success&&Ar.error)throw new Error(`Database migration failed: ${Ar.error.message}`)}const dr=new KyselyOperationStore(lr),mr=new KyselyKeyframeStore(lr),_r=this.eventBus||new EventBus,hr=new InMemoryQueue(_r),fr=new InMemoryJobTracker(_r),gr={maxDocuments:this.writeCacheConfig?.maxDocuments??100,ringBufferSize:this.writeCacheConfig?.ringBufferSize??10,keyframeInterval:this.writeCacheConfig?.keyframeInterval??10},xr=new KyselyWriteCache(mr,dr,tr,gr);await xr.startup();const wr=new KyselyOperationIndex(lr);let Sr=this.executorManager;Sr||(Sr=new SimpleJobExecutorManager(()=>new SimpleJobExecutor(tr,B,B,dr,_r,xr,wr,{legacyStorageEnabled:this.features.legacyStorageEnabled},this.signatureVerifier),_r,hr,fr)),await Sr.start(this.executorConfig.count);const vr=Array.from(new Set([...this.readModels])),Ir=new ConsistencyTracker,Mr=new KyselyDocumentView(lr,dr,Ir);await Mr.init(),vr.push(Mr);const yr=new ConsistencyTracker,br=new KyselyDocumentIndexer(lr,dr,yr);await br.init(),vr.push(br),this.documentIndexer=br;const Cr=this.readModelCoordinatorFactory?this.readModelCoordinatorFactory(_r,vr):new ReadModelCoordinator(_r,vr),Fr=new Reactor(ir,B,hr,fr,Cr,this.features,Mr,br,dr);let Lr;return this.syncBuilder&&(Lr=this.syncBuilder.buildModule(Fr,wr,_r,lr),await Lr.syncManager.startup()),{driveServer:ir,storage:B,eventBus:_r,documentModelRegistry:tr,queue:hr,jobTracker:fr,executorManager:Sr,database:lr,operationStore:dr,keyframeStore:mr,writeCache:xr,operationIndex:wr,documentView:Mr,documentViewConsistencyTracker:Ir,documentIndexer:br,documentIndexerConsistencyTracker:yr,readModelCoordinator:Cr,syncModule:Lr,reactor:Fr}}}class PassthroughSigner{sign(){return Promise.resolve(["","","","",""])}}class DefaultSubscriptionErrorHandler{handleError(B,tr){const rr=`Subscription error in ${tr.eventType} (${tr.subscriptionId})`;if(B instanceof Error){const ir=new Error(`${rr}: ${B.message}`);throw ir.cause=B,ir.stack=B.stack,ir}else throw new Error(`${rr}: ${String(B)}`)}}class ReactorSubscriptionManager{createdSubscriptions=new Map;deletedSubscriptions=new Map;updatedSubscriptions=new Map;relationshipSubscriptions=new Map;subscriptionCounter=0;errorHandler;constructor(B){this.errorHandler=B}onDocumentCreated(B,tr){const rr=`created-${++this.subscriptionCounter}`;return this.createdSubscriptions.set(rr,{id:rr,callback:B,search:tr}),()=>{this.createdSubscriptions.delete(rr)}}onDocumentDeleted(B,tr){const rr=`deleted-${++this.subscriptionCounter}`;return this.deletedSubscriptions.set(rr,{id:rr,callback:B,search:tr}),()=>{this.deletedSubscriptions.delete(rr)}}onDocumentStateUpdated(B,tr,rr){const ir=`updated-${++this.subscriptionCounter}`;return this.updatedSubscriptions.set(ir,{id:ir,callback:B,search:tr,view:rr}),()=>{this.updatedSubscriptions.delete(ir)}}onRelationshipChanged(B,tr){const rr=`relationship-${++this.subscriptionCounter}`;return this.relationshipSubscriptions.set(rr,{id:rr,callback:B,search:tr}),()=>{this.relationshipSubscriptions.delete(rr)}}notifyDocumentsCreated(B,tr,rr){const ir={results:B,options:{cursor:"",limit:B.length}};for(const lr of this.createdSubscriptions.values()){const dr=this.filterDocumentIds(B,lr.search,tr,rr);if(dr.length>0)try{lr.callback({...ir,results:dr})}catch(mr){this.errorHandler.handleError(mr,{eventType:"created",subscriptionId:lr.id,eventData:dr})}}}notifyDocumentsDeleted(B,tr,rr){for(const ir of this.deletedSubscriptions.values()){const lr=this.filterDocumentIds(B,ir.search,tr,rr);if(lr.length>0)try{ir.callback(lr)}catch(dr){this.errorHandler.handleError(dr,{eventType:"deleted",subscriptionId:ir.id,eventData:lr})}}}notifyDocumentsUpdated(B){const tr={results:B,options:{cursor:"",limit:B.length}};for(const rr of this.updatedSubscriptions.values()){const ir=this.filterDocuments(B,rr.search);if(ir.length>0)try{rr.callback({...tr,results:ir})}catch(lr){this.errorHandler.handleError(lr,{eventType:"updated",subscriptionId:rr.id,eventData:ir})}}}notifyRelationshipChanged(B,tr,rr,ir){for(const lr of this.relationshipSubscriptions.values())if(this.matchesRelationshipFilter(B,tr,ir,lr.search))try{lr.callback(B,tr,rr)}catch(dr){this.errorHandler.handleError(dr,{eventType:"relationshipChanged",subscriptionId:lr.id,eventData:{parentId:B,childId:tr,changeType:rr}})}}clearAll(){this.createdSubscriptions.clear(),this.deletedSubscriptions.clear(),this.updatedSubscriptions.clear(),this.relationshipSubscriptions.clear()}filterDocumentIds(B,tr,rr,ir){return tr?B.filter(lr=>!(tr.ids&&!tr.ids.includes(lr)||tr.type&&rr&&rr.get(lr)!==tr.type||tr.parentId&&ir&&ir.get(lr)!==tr.parentId)):B}filterDocuments(B,tr){return tr?B.filter(rr=>!(tr.ids&&!tr.ids.includes(rr.header.id)||tr.type&&rr.header.documentType!==tr.type||tr.slugs&&!tr.slugs.includes(rr.header.slug))):B}matchesRelationshipFilter(B,tr,rr,ir){return ir?!(ir.parentId&&B!==ir.parentId||ir.ids&&!ir.ids.includes(tr)||ir.type&&rr&&rr!==ir.type):!0}}class ReactorClientBuilder{reactorBuilder;reactor;eventBus;documentIndexer;signer;signatureVerifier;subscriptionManager;jobAwaiter;withReactorBuilder(B){if(this.reactor)throw new Error("Reactor is already set");return this.reactorBuilder=B,this}withReactor(B,tr,rr){if(this.reactorBuilder)throw new Error("ReactorBuilder is already set");return this.reactor=B,this.eventBus=tr,this.documentIndexer=rr,this}withSigner(B){return"signer"in B?(this.signer=B.signer,this.signatureVerifier=B.verifier):this.signer=B,this}withSubscriptionManager(B){return this.subscriptionManager=B,this}withJobAwaiter(B){return this.jobAwaiter=B,this}async build(){return(await this.buildModule()).client}async buildModule(){let B,tr,rr,ir;if(this.reactorBuilder)this.signatureVerifier&&this.reactorBuilder.withSignatureVerifier(this.signatureVerifier),ir=await this.reactorBuilder.buildModule(),B=ir.reactor,tr=ir.eventBus,rr=ir.documentIndexer;else if(this.reactor&&this.eventBus&&this.documentIndexer)B=this.reactor,tr=this.eventBus,rr=this.documentIndexer,ir=void 0;else throw new Error("Either ReactorBuilder or (Reactor + EventBus + DocumentIndexer) is required");const lr=this.signer??new PassthroughSigner,dr=this.subscriptionManager??new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler),mr=this.jobAwaiter??new JobAwaiter(tr,(hr,fr)=>B.getJobStatus(hr,fr));return{client:new ReactorClient(B,lr,dr,mr,rr),reactor:B,eventBus:tr,documentIndexer:rr,signer:lr,subscriptionManager:dr,jobAwaiter:mr,reactorModule:ir}}}function rowToRemoteCursor(I){return{remoteName:I.remote_name,cursorOrdinal:Number(I.cursor_ordinal),lastSyncedAtUtcMs:I.last_synced_at_utc_ms?Number(I.last_synced_at_utc_ms):void 0}}function remoteCursorToRow(I){return{remote_name:I.remoteName,cursor_ordinal:BigInt(I.cursorOrdinal),last_synced_at_utc_ms:I.lastSyncedAtUtcMs?BigInt(I.lastSyncedAtUtcMs):null}}class KyselySyncCursorStorage{db;constructor(B){this.db=B}async list(B,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=await this.db.selectFrom("sync_cursors").selectAll().where("remote_name","=",B).execute();if(tr?.aborted)throw new Error("Operation aborted");return rr.map(rowToRemoteCursor)}async get(B,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=await this.db.selectFrom("sync_cursors").selectAll().where("remote_name","=",B).executeTakeFirst();if(tr?.aborted)throw new Error("Operation aborted");return rr?rowToRemoteCursor(rr):{remoteName:B,cursorOrdinal:0}}async upsert(B,tr){if(tr?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async rr=>{const ir=remoteCursorToRow(B);await rr.insertInto("sync_cursors").values(ir).onConflict(lr=>lr.column("remote_name").doUpdateSet({...ir,updated_at:sql`NOW()`})).execute()}),tr?.aborted)throw new Error("Operation aborted")}async remove(B,tr){if(tr?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async rr=>{await rr.deleteFrom("sync_cursors").where("remote_name","=",B).execute()}),tr?.aborted)throw new Error("Operation aborted")}}function rowToRemoteRecord(I){return{id:I.channel_id,name:I.name,collectionId:I.collection_id,channelConfig:{type:I.channel_type,parameters:I.channel_parameters??{}},filter:{documentId:I.filter_document_ids??[],scope:I.filter_scopes??[],branch:I.filter_branch},options:{},status:{push:{state:I.push_state,lastSuccessUtcMs:I.push_last_success_utc_ms?Number(I.push_last_success_utc_ms):void 0,lastFailureUtcMs:I.push_last_failure_utc_ms?Number(I.push_last_failure_utc_ms):void 0,failureCount:I.push_failure_count},pull:{state:I.pull_state,lastSuccessUtcMs:I.pull_last_success_utc_ms?Number(I.pull_last_success_utc_ms):void 0,lastFailureUtcMs:I.pull_last_failure_utc_ms?Number(I.pull_last_failure_utc_ms):void 0,failureCount:I.pull_failure_count}}}}function remoteRecordToRow(I){return{name:I.name,collection_id:I.collectionId,channel_type:I.channelConfig.type,channel_id:I.id,remote_name:I.name,channel_parameters:I.channelConfig.parameters,filter_document_ids:I.filter.documentId.length>0?I.filter.documentId:null,filter_scopes:I.filter.scope.length>0?I.filter.scope:null,filter_branch:I.filter.branch,push_state:I.status.push.state,push_last_success_utc_ms:I.status.push.lastSuccessUtcMs?BigInt(I.status.push.lastSuccessUtcMs):null,push_last_failure_utc_ms:I.status.push.lastFailureUtcMs?BigInt(I.status.push.lastFailureUtcMs):null,push_failure_count:I.status.push.failureCount,pull_state:I.status.pull.state,pull_last_success_utc_ms:I.status.pull.lastSuccessUtcMs?BigInt(I.status.pull.lastSuccessUtcMs):null,pull_last_failure_utc_ms:I.status.pull.lastFailureUtcMs?BigInt(I.status.pull.lastFailureUtcMs):null,pull_failure_count:I.status.pull.failureCount}}class KyselySyncRemoteStorage{db;constructor(B){this.db=B}async list(B){if(B?.aborted)throw new Error("Operation aborted");const tr=await this.db.selectFrom("sync_remotes").selectAll().execute();if(B?.aborted)throw new Error("Operation aborted");return tr.map(rowToRemoteRecord)}async get(B,tr){if(tr?.aborted)throw new Error("Operation aborted");const rr=await this.db.selectFrom("sync_remotes").selectAll().where("name","=",B).executeTakeFirst();if(tr?.aborted)throw new Error("Operation aborted");if(!rr)throw new Error(`Remote not found: ${B}`);return rowToRemoteRecord(rr)}async upsert(B,tr){if(tr?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async rr=>{const ir=remoteRecordToRow(B);await rr.insertInto("sync_remotes").values(ir).onConflict(lr=>lr.column("name").doUpdateSet({...ir,updated_at:sql`NOW()`})).execute()}),tr?.aborted)throw new Error("Operation aborted")}async remove(B,tr){if(tr?.aborted)throw new Error("Operation aborted");if(await this.db.transaction().execute(async rr=>{await rr.deleteFrom("sync_remotes").where("name","=",B).execute()}),tr?.aborted)throw new Error("Operation aborted")}}var SyncOperationStatus;(function(I){I[I.Unknown=-1]="Unknown",I[I.TransportPending=0]="TransportPending",I[I.ExecutionPending=1]="ExecutionPending",I[I.Applied=2]="Applied",I[I.Error=3]="Error"})(SyncOperationStatus||(SyncOperationStatus={}));var ChannelErrorSource;(function(I){I.None="none",I.Channel="channel",I.Inbox="inbox",I.Outbox="outbox"})(ChannelErrorSource||(ChannelErrorSource={}));class SyncOperationAggregateError extends Error{errors;constructor(B){const tr=B.map(rr=>rr.message).join("; ");super(`SyncOperation callback failed with ${B.length} error(s): ${tr}`),this.name="SyncOperationAggregateError",this.errors=B}}class SyncOperation{id;remoteName;documentId;scopes;branch;operations;status;error;callbacks=[];constructor(B,tr,rr,ir,lr,dr){this.id=B,this.remoteName=tr,this.documentId=rr,this.scopes=ir,this.branch=lr,this.operations=dr,this.status=SyncOperationStatus.Unknown}on(B){this.callbacks.push(B)}started(){this.transition(SyncOperationStatus.TransportPending)}transported(){this.transition(SyncOperationStatus.ExecutionPending)}executed(){this.transition(SyncOperationStatus.Applied)}failed(B){this.error=B,this.transition(SyncOperationStatus.Error)}transition(B){const tr=this.status;this.status=B;const rr=[];for(const ir of this.callbacks)try{ir(this,tr,B)}catch(lr){rr.push(lr instanceof Error?lr:new Error(String(lr)))}if(rr.length>0)throw new SyncOperationAggregateError(rr)}}class MailboxAggregateError extends Error{errors;constructor(B){const tr=B.map(rr=>rr.message).join("; ");super(`Mailbox callback failed with ${B.length} error(s): ${tr}`),this.name="MailboxAggregateError",this.errors=B}}class Mailbox{itemsMap=new Map;addedCallbacks=[];removedCallbacks=[];get items(){return Array.from(this.itemsMap.values())}get(B){return this.itemsMap.get(B)}add(B){this.itemsMap.set(B.id,B);const tr=[...this.addedCallbacks],rr=[];for(const ir of tr)try{ir(B)}catch(lr){rr.push(lr instanceof Error?lr:new Error(String(lr)))}if(rr.length>0)throw new MailboxAggregateError(rr)}remove(B){this.itemsMap.delete(B.id);const tr=[...this.removedCallbacks],rr=[];for(const ir of tr)try{ir(B)}catch(lr){rr.push(lr instanceof Error?lr:new Error(String(lr)))}if(rr.length>0)throw new MailboxAggregateError(rr)}onAdded(B){this.addedCallbacks.push(B)}onRemoved(B){this.removedCallbacks.push(B)}}class ChannelError extends Error{source;error;constructor(B,tr){super(`ChannelError[${B}]: ${tr.message}`),this.name="ChannelError",this.source=B,this.error=tr}}let syncOpCounter=0;function envelopeToSyncOperation(I,B){if(!I.operations||I.operations.length===0)throw new Error("Cannot create SyncOperation from envelope without operations");const tr=I.operations,rr=tr[0],ir=rr.context.documentId,lr=rr.context.branch,dr=[...new Set(tr.map(_r=>_r.context.scope))],mr=`syncop-${I.channelMeta.id}-${Date.now()}-${syncOpCounter++}`;return new SyncOperation(mr,B,ir,dr,lr,tr)}class GqlChannel{inbox;outbox;deadLetter;channelId;remoteName;cursorStorage;config;isShutdown;pollTimer;failureCount;lastSuccessUtcMs;lastFailureUtcMs;constructor(B,tr,rr,ir){this.channelId=B,this.remoteName=tr,this.cursorStorage=rr,this.config={url:ir.url,authToken:ir.authToken,pollIntervalMs:ir.pollIntervalMs??5e3,retryBaseDelayMs:ir.retryBaseDelayMs??1e3,retryMaxDelayMs:ir.retryMaxDelayMs??3e5,maxFailures:ir.maxFailures??5,fetchFn:ir.fetchFn},this.isShutdown=!1,this.failureCount=0,this.inbox=new Mailbox,this.outbox=new Mailbox,this.deadLetter=new Mailbox,this.outbox.onAdded(lr=>{this.handleOutboxAdded(lr)}),this.startPolling()}shutdown(){this.isShutdown=!0,this.pollTimer&&(clearTimeout(this.pollTimer),this.pollTimer=void 0)}startPolling(){this.isShutdown||(this.pollTimer=setTimeout(()=>{this.poll().then(()=>{this.startPolling()})},this.config.pollIntervalMs))}async poll(){if(this.isShutdown||this.failureCount>=this.config.maxFailures)return;let B;try{B=await this.cursorStorage.get(this.remoteName)}catch(ir){this.handlePollError(ir);return}const tr=B.cursorOrdinal;let rr;try{rr=await this.pollSyncEnvelopes(tr)}catch(ir){this.handlePollError(ir);return}for(const ir of rr)if(ir.type==="operations"&&ir.operations){const lr=envelopeToSyncOperation(ir,this.remoteName);lr.transported(),this.inbox.add(lr)}this.lastSuccessUtcMs=Date.now(),this.failureCount=0}handlePollError(B){this.failureCount++,this.lastFailureUtcMs=Date.now();const tr=B instanceof Error?B:new Error(String(B)),rr=new ChannelError(ChannelErrorSource.Inbox,tr);console.error(`GqlChannel poll error (${this.failureCount}/${this.config.maxFailures}):`,rr),this.failureCount>=this.config.maxFailures&&console.error(`GqlChannel ${this.channelId} exceeded failure threshold, stopping polls`)}async pollSyncEnvelopes(B){const tr=`
|
|
27
|
-
query PollSyncEnvelopes($channelId: String!, $cursorOrdinal: Int!) {
|
|
28
|
-
pollSyncEnvelopes(channelId: $channelId, cursorOrdinal: $cursorOrdinal) {
|
|
29
|
-
type
|
|
30
|
-
channelMeta {
|
|
31
|
-
id
|
|
32
|
-
}
|
|
33
|
-
operations {
|
|
34
|
-
operation {
|
|
35
|
-
index
|
|
36
|
-
timestampUtcMs
|
|
37
|
-
hash
|
|
38
|
-
skip
|
|
39
|
-
error
|
|
40
|
-
resultingState
|
|
41
|
-
id
|
|
42
|
-
action
|
|
43
|
-
}
|
|
44
|
-
context {
|
|
45
|
-
documentId
|
|
46
|
-
documentType
|
|
47
|
-
scope
|
|
48
|
-
branch
|
|
49
|
-
resultingState
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
cursor {
|
|
53
|
-
remoteName
|
|
54
|
-
cursorOrdinal
|
|
55
|
-
lastSyncedAtUtcMs
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
`,rr={channelId:this.channelId,cursorOrdinal:B};return(await this.executeGraphQL(tr,rr)).pollSyncEnvelopes}handleOutboxAdded(B){this.isShutdown||this.pushSyncOperation(B).catch(tr=>{const rr=tr instanceof Error?tr:new Error(String(tr)),ir=new ChannelError(ChannelErrorSource.Outbox,rr);B.failed(ir),this.deadLetter.add(B),this.outbox.remove(B)})}async pushSyncOperation(B){B.started();const tr={type:"operations",channelMeta:{id:this.channelId},operations:B.operations},rr=`
|
|
60
|
-
mutation PushSyncEnvelope($envelope: SyncEnvelopeInput!) {
|
|
61
|
-
pushSyncEnvelope(envelope: $envelope)
|
|
62
|
-
}
|
|
63
|
-
`,ir={envelope:this.serializeEnvelope(tr)};await this.executeGraphQL(rr,ir),this.outbox.remove(B)}serializeEnvelope(B){return{type:B.type.toUpperCase(),channelMeta:B.channelMeta,operations:B.operations?.map(tr=>({operation:{index:tr.operation.index,timestampUtcMs:tr.operation.timestampUtcMs,hash:tr.operation.hash,skip:tr.operation.skip,error:tr.operation.error,resultingState:tr.operation.resultingState,id:tr.operation.id,action:tr.operation.action},context:tr.context})),cursor:B.cursor}}async executeGraphQL(B,tr){const rr={"Content-Type":"application/json"};this.config.authToken&&(rr.Authorization=`Bearer ${this.config.authToken}`);const ir=this.config.fetchFn??fetch;let lr;try{lr=await ir(this.config.url,{method:"POST",headers:rr,body:JSON.stringify({query:B,variables:tr})})}catch(mr){throw new Error(`GraphQL request failed: ${mr instanceof Error?mr.message:String(mr)}`)}if(!lr.ok)throw new Error(`GraphQL request failed: ${lr.status} ${lr.statusText}`);let dr;try{dr=await lr.json()}catch(mr){throw new Error(`Failed to parse GraphQL response: ${mr instanceof Error?mr.message:String(mr)}`)}if(dr.errors)throw new Error(`GraphQL errors: ${JSON.stringify(dr.errors,null,2)}`);if(!dr.data)throw new Error("GraphQL response missing data field");return dr.data}async updateCursor(B){const tr={remoteName:this.remoteName,cursorOrdinal:B,lastSyncedAtUtcMs:Date.now()};await this.cursorStorage.upsert(tr)}getHealth(){return{state:this.failureCount>=this.config.maxFailures?"error":this.failureCount>0?"running":"idle",lastSuccessUtcMs:this.lastSuccessUtcMs,lastFailureUtcMs:this.lastFailureUtcMs,failureCount:this.failureCount}}}class GqlChannelFactory{instance(B,tr,rr,ir){if(rr.type!=="gql")throw new Error(`GqlChannelFactory can only create channels of type "gql", got "${rr.type}"`);const lr=rr.parameters.url;if(typeof lr!="string"||!lr)throw new Error('GqlChannelFactory requires "url" parameter in config.parameters');const dr={url:lr};if(rr.parameters.authToken!==void 0){if(typeof rr.parameters.authToken!="string")throw new Error('"authToken" parameter must be a string');dr.authToken=rr.parameters.authToken}if(rr.parameters.pollIntervalMs!==void 0){if(typeof rr.parameters.pollIntervalMs!="number")throw new Error('"pollIntervalMs" parameter must be a number');dr.pollIntervalMs=rr.parameters.pollIntervalMs}if(rr.parameters.retryBaseDelayMs!==void 0){if(typeof rr.parameters.retryBaseDelayMs!="number")throw new Error('"retryBaseDelayMs" parameter must be a number');dr.retryBaseDelayMs=rr.parameters.retryBaseDelayMs}if(rr.parameters.retryMaxDelayMs!==void 0){if(typeof rr.parameters.retryMaxDelayMs!="number")throw new Error('"retryMaxDelayMs" parameter must be a number');dr.retryMaxDelayMs=rr.parameters.retryMaxDelayMs}if(rr.parameters.maxFailures!==void 0){if(typeof rr.parameters.maxFailures!="number")throw new Error('"maxFailures" parameter must be a number');dr.maxFailures=rr.parameters.maxFailures}if(rr.parameters.fetchFn!==void 0){if(typeof rr.parameters.fetchFn!="function")throw new Error('"fetchFn" parameter must be a function');dr.fetchFn=rr.parameters.fetchFn}return new GqlChannel(B,tr,ir,dr)}}function filterOperations(I,B){return I.filter(tr=>!(B.branch&&tr.context.branch!==B.branch||B.documentId.length>0&&!B.documentId.includes(tr.context.documentId)||B.scope.length>0&&!B.scope.includes(tr.context.scope)))}function createIdleHealth(){return{state:"idle",failureCount:0}}class SyncManager{remoteStorage;cursorStorage;channelFactory;_operationIndex;reactor;eventBus;remotes;awaiter;isShutdown;eventUnsubscribe;loadJobs=new Map;constructor(B,tr,rr,ir,lr,dr){this.remoteStorage=B,this.cursorStorage=tr,this.channelFactory=rr,this._operationIndex=ir,this.reactor=lr,this.eventBus=dr,this.remotes=new Map,this.awaiter=new JobAwaiter(dr,(mr,_r)=>lr.getJobStatus(mr,_r)),this.isShutdown=!1}async startup(){if(this.isShutdown)throw new Error("SyncManager is already shutdown and cannot be started");const B=await this.remoteStorage.list();for(const tr of B){const rr=this.channelFactory.instance(tr.id,tr.name,tr.channelConfig,this.cursorStorage),ir={id:tr.id,name:tr.name,collectionId:tr.collectionId,filter:tr.filter,options:tr.options,channel:rr};this.remotes.set(tr.name,ir),this.wireChannelCallbacks(ir)}this.eventUnsubscribe=this.eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN,(tr,rr)=>this.handleOperationWritten(rr))}shutdown(){this.isShutdown=!0,this.eventUnsubscribe&&(this.eventUnsubscribe(),this.eventUnsubscribe=void 0),this.awaiter.shutdown();for(const B of this.remotes.values())try{B.channel.shutdown()}catch(tr){console.error(`Error shutting down channel for remote ${B.name}: ${tr instanceof Error?tr.message:String(tr)}`)}return this.remotes.clear(),{isShutdown:!0}}getByName(B){const tr=this.remotes.get(B);if(!tr)throw new Error(`Remote with name '${B}' does not exist`);return tr}getById(B){for(const tr of this.remotes.values())if(tr.id===B)return tr;throw new Error(`Remote with id '${B}' does not exist`)}async add(B,tr,rr,ir={documentId:[],scope:[],branch:""},lr={},dr){if(this.isShutdown)throw new Error("SyncManager is shutdown and cannot add remotes");if(this.remotes.has(B))throw new Error(`Remote with name '${B}' already exists`);const mr=dr??crypto.randomUUID(),_r={push:createIdleHealth(),pull:createIdleHealth()},hr={id:mr,name:B,collectionId:tr,channelConfig:rr,filter:ir,options:lr,status:_r};await this.remoteStorage.upsert(hr);const fr=this.channelFactory.instance(mr,B,rr,this.cursorStorage),gr={id:mr,name:B,collectionId:tr,filter:ir,options:lr,channel:fr};return this.remotes.set(B,gr),this.wireChannelCallbacks(gr),gr}async remove(B){const tr=this.remotes.get(B);if(!tr)throw new Error(`Remote with name '${B}' does not exist`);await this.remoteStorage.remove(B),tr.channel.shutdown(),this.remotes.delete(B)}list(){return Array.from(this.remotes.values())}wireChannelCallbacks(B){B.channel.inbox.onAdded(tr=>{this.handleInboxJob(B,tr)}),B.channel.outbox.onAdded(tr=>{this.handleOutboxJob(B,tr)})}handleOperationWritten(B){if(!this.isShutdown)for(const tr of this.remotes.values()){const rr=filterOperations(B.operations,tr.filter);if(rr.length===0)continue;const ir=new SyncOperation(crypto.randomUUID(),tr.name,rr[0].context.documentId,[...new Set(rr.map(lr=>lr.context.scope))],rr[0].context.branch,rr);tr.channel.outbox.add(ir)}}handleInboxJob(B,tr){this.isShutdown||this.applyInboxJob(B,tr)}handleOutboxJob(B,tr){tr.on((rr,ir,lr)=>{(lr===SyncOperationStatus.Applied||lr===SyncOperationStatus.Error)&&B.channel.outbox.remove(rr)})}async applyInboxJob(B,tr){const rr=tr.operations.map(mr=>mr.operation);let ir;try{ir=await this.reactor.load(tr.documentId,tr.branch,rr)}catch(mr){const _r=mr instanceof Error?mr:new Error(String(mr)),hr=new ChannelError(ChannelErrorSource.Inbox,_r);tr.failed(hr),B.channel.deadLetter.add(tr),B.channel.inbox.remove(tr);return}let lr;try{lr=await this.awaiter.waitForJob(ir.id)}catch(mr){const _r=mr instanceof Error?mr:new Error(String(mr)),hr=new ChannelError(ChannelErrorSource.Inbox,_r);tr.failed(hr),B.channel.deadLetter.add(tr),B.channel.inbox.remove(tr);return}const dr=`${tr.documentId}:${tr.branch}`;if(this.loadJobs.set(dr,lr),lr.status===JobStatus.FAILED){const mr=new ChannelError(ChannelErrorSource.Inbox,new Error(`Failed to apply operations: ${lr.error?.message||"Unknown error"}`));tr.failed(mr),B.channel.deadLetter.add(tr)}else tr.executed();B.channel.inbox.remove(tr)}}class SyncBuilder{channelFactory;remoteStorage;cursorStorage;withChannelFactory(B){return this.channelFactory=B,this}withRemoteStorage(B){return this.remoteStorage=B,this}withCursorStorage(B){return this.cursorStorage=B,this}build(B,tr,rr,ir){return this.buildModule(B,tr,rr,ir).syncManager}buildModule(B,tr,rr,ir){if(!this.channelFactory)throw new Error("Channel factory is required");const lr=this.remoteStorage??new KyselySyncRemoteStorage(ir),dr=this.cursorStorage??new KyselySyncCursorStorage(ir),mr=new SyncManager(lr,dr,this.channelFactory,tr,B,rr);return{remoteStorage:lr,cursorStorage:dr,channelFactory:this.channelFactory,syncManager:mr}}}class ConnectCryptoSigner{constructor(B){this.connectCrypto=B}async sign(B,tr){if(tr?.aborted)throw new Error("Signing aborted");const rr=(new Date().getTime()/1e3).toFixed(0),ir=await this.connectCrypto.did();if(tr?.aborted)throw new Error("Signing aborted");const lr=await this.hashAction(B);if(tr?.aborted)throw new Error("Signing aborted");const dr=B.context?.prevOpHash??"",mr=[rr,ir,lr,dr],_r=this.buildSignatureMessage(mr),hr=await this.connectCrypto.sign(_r),fr=`0x${this.arrayBufferToHex(hr)}`;if(tr?.aborted)throw new Error("Signing aborted");return[...mr,fr]}async hashAction(B){const tr=[B.scope,B.type,JSON.stringify(B.input)].join(""),ir=new TextEncoder().encode(tr),lr=await crypto.subtle.digest("SHA-256",ir);return this.arrayBufferToBase64(lr)}buildSignatureMessage(B){const tr=B.join(""),rr=`Signed Operation:
|
|
64
|
-
`+tr.length.toString();return new TextEncoder().encode(rr+tr)}arrayBufferToHex(B){const tr=B instanceof Uint8Array?B:new Uint8Array(B);return Array.from(tr).map(rr=>rr.toString(16).padStart(2,"0")).join("")}arrayBufferToBase64(B){const tr=new Uint8Array(B);let rr="";for(let ir=0;ir<tr.length;ir++)rr+=String.fromCharCode(tr[ir]);return btoa(rr)}}function createSignatureVerifier(){return async(I,B)=>{const tr=I.action.context?.signer;if(!tr)return!0;const rr=tr.signatures;if(rr.length===0)return!1;const ir=rr[rr.length-1],[lr,dr,mr,_r,hr]=ir;if(dr!==B)return!1;const gr=buildSignatureMessage([lr,dr,mr,_r]),xr=hexToUint8Array(hr),wr=await importPublicKey(B);return await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},wr,xr.buffer,gr.buffer)}}function buildSignatureMessage(I){const B=I.join(""),tr=`Signed Operation:
|
|
65
|
-
`+B.length.toString();return new TextEncoder().encode(tr+B)}function hexToUint8Array(I){const B=I.startsWith("0x")?I.slice(2):I,tr=new Uint8Array(B.length/2);for(let rr=0;rr<B.length;rr+=2)tr[rr/2]=parseInt(B.substring(rr,rr+2),16);return tr}async function importPublicKey(I){const B=extractKeyFromDid(I);return crypto.subtle.importKey("raw",B.buffer,{name:"ECDSA",namedCurve:"P-256"},!0,["verify"])}function extractKeyFromDid(I){const B=I.split(":");if(B.length<3||B[0]!=="did"||B[1]!=="key")throw new Error(`Invalid DID format: ${I}`);const tr=B[2];if(!tr.startsWith("z"))throw new Error(`Unsupported multibase encoding: ${tr[0]}`);const rr=base58Decode(tr.slice(1));if(rr[0]!==128||rr[1]!==36)throw new Error("Not a P-256 public key multicodec");const ir=rr.slice(2);return decompressP256PublicKey(ir)}function base58Decode(I){const B="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",tr=new Map;for(let ir=0;ir<B.length;ir++)tr.set(B[ir],ir);if(I.length===0)return new Uint8Array(0);const rr=[0];for(const ir of I){const lr=tr.get(ir);if(lr===void 0)throw new Error(`Invalid base58 character: ${ir}`);let dr=lr;for(let mr=0;mr<rr.length;mr++)dr+=rr[mr]*58,rr[mr]=dr&255,dr>>=8;for(;dr>0;)rr.push(dr&255),dr>>=8}for(const ir of I){if(ir!=="1")break;rr.push(0)}return new Uint8Array(rr.reverse())}function decompressP256PublicKey(I){if(I.length!==33)throw new Error(`Invalid compressed key length: ${I.length}`);const B=I[0];if(B!==2&&B!==3)throw new Error(`Invalid compression prefix: ${B}`);const tr=BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),rr=BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),ir=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b");let lr=BigInt(0);for(let wr=1;wr<I.length;wr++)lr=lr<<BigInt(8)|BigInt(I[wr]);const dr=(modPow(lr,BigInt(3),tr)+rr*lr+ir)%tr;let mr=modPow(dr,(tr+BigInt(1))/BigInt(4),tr);mr%BigInt(2)===BigInt(0)!==(B===2)&&(mr=tr-mr);const fr=new Uint8Array(65);fr[0]=4;const gr=bigIntToBytes(lr,32),xr=bigIntToBytes(mr,32);return fr.set(gr,1),fr.set(xr,33),fr}function modPow(I,B,tr){let rr=BigInt(1);for(I=I%tr;B>BigInt(0);)B%BigInt(2)===BigInt(1)&&(rr=rr*I%tr),B=B>>BigInt(1),I=I*I%tr;return rr}function bigIntToBytes(I,B){const tr=new Uint8Array(B);for(let rr=B-1;rr>=0;rr--)tr[rr]=Number(I&BigInt(255)),I=I>>BigInt(8);return tr}const defaultDrivesUrl=[],getReactorDefaultDrivesConfig=()=>({defaultDrives:{remoteDrives:defaultDrivesUrl.map(B=>({url:B,options:{sharingType:"PUBLIC",availableOffline:!0,listeners:[{block:!0,callInfo:{data:B,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]}})),removeOldRemoteDrives:createRemoveOldRemoteDrivesConfig(defaultDrivesUrl)}});function createBrowserStorage(I){return new BrowserStorage(I)}function createBrowserDocumentDriveServer(I,B,tr){return new ReactorBuilder$1(I).withStorage(B).withCache(new InMemoryCache).withQueueManager(new EventQueueManager).withOptions({...tr,...getReactorDefaultDrivesConfig()}).build()}function createBrowserReactor(I,B,tr){const rr={signer:new ConnectCryptoSigner(tr),verifier:createSignatureVerifier()};return new ReactorClientBuilder().withSigner(rr).withReactorBuilder(new ReactorBuilder().withDocumentModels(I).withLegacyStorage(B).withSync(new SyncBuilder().withChannelFactory(new GqlChannelFactory)).withFeatures({legacyStorageEnabled:!0}).withKysely(new Kysely({dialect:new PGliteDialect(new Ue("idb://reactor",{relaxedDurability:!0}))}))).buildModule()}const basePath=connectConfig.routerBasename,serviceWorkerScriptPath=[basePath,"service-worker.js"].join("/").replace(/\/{2,}/gm,"/");class ServiceWorkerManager{ready=!1;debug=!1;registration=null;constructor(B=!1){this.debug=B}setDebug(B){this.debug=B}#t(B){this.debug&&console.log("ServiceWorker message: ",B);const tr="type"in B.data?B:null;switch(tr?.data.type){case"NEW_VERSION_AVAILABLE":{if(tr.data.version===connectConfig.appVersion)return;tr.data.requiresHardRefresh&&(this.debug&&console.log("New version available"),window.location.reload());break}default:{console.warn("Unhandled message:",tr);break}}}#e(B){this.debug&&console.log("ServiceWorker registered: ",B),navigator.serviceWorker.addEventListener("message",this.#t.bind(this)),this.registration=B,this.ready=!0}async#r(){try{const B=await navigator.serviceWorker.getRegistration();if(B)await B.update(),this.#e(B);else{const rr=await navigator.serviceWorker.register(serviceWorkerScriptPath);this.#e(rr),rr.addEventListener("updatefound",()=>{this.#e(rr)})}const tr=setInterval(async()=>{const rr=await navigator.serviceWorker.getRegistration();rr?await rr.update():(clearInterval(tr),this.registerServiceWorker())},connectConfig.appVersionCheckInterval)}catch(B){console.error("ServiceWorker registration failed: ",B)}}registerServiceWorker(B=!1){if(this.debug=B,!("serviceWorker"in navigator)){console.warn("Service Worker not available");return}window.addEventListener("load",()=>{this.#r().catch(console.error)})}}const serviceWorkerManager=new ServiceWorkerManager,LOADER_DELAY=250,Loader=({delay:I=LOADER_DELAY})=>{const B=typeof window>"u",tr=typeof document<"u"&&document.body.getAttribute("data-show-loader")==="true",[rr,ir]=reactExports.useState(!I||tr);return reactExports.useEffect(()=>{const lr=setTimeout(()=>{ir(!0)},I);return()=>clearTimeout(lr)},[]),jsxRuntimeExports.jsxs("div",{className:`skeleton-loader absolute inset-0 z-10 flex items-center justify-center ${rr?"":"hidden"}`,children:[jsxRuntimeExports.jsx("div",{className:"animate-pulse overflow-hidden rounded-full shadow-lg",children:jsxRuntimeExports.jsx(AnimatedLoader,{})}),B?jsxRuntimeExports.jsx("script",{dangerouslySetInnerHTML:{__html:`setTimeout(() => {
|
|
66
|
-
document.querySelector('.skeleton-loader')?.classList.remove('hidden');
|
|
67
|
-
document.body.setAttribute('data-show-loader', 'true');
|
|
68
|
-
}, ${I})`}}):null]})},AppSkeleton=()=>{const I=typeof window>"u",B=!I&&window.location.pathname===getBasePath();return jsxRuntimeExports.jsxs("div",{className:"flex h-screen",children:[jsxRuntimeExports.jsx(ConnectSidebar,{className:"animate-pulse",onLogin:void 0,onDisconnect:void 0,onClickSettings:void 0,address:void 0}),jsxRuntimeExports.jsx(HomeScreen,{containerClassName:I||!B?"hidden home-screen":void 0,children:null}),I?jsxRuntimeExports.jsx("script",{dangerouslySetInnerHTML:{__html:`
|
|
69
|
-
const baseEl = document.querySelector('base');
|
|
70
|
-
const href = baseEl?.getAttribute('href');
|
|
71
|
-
const basePath = href || '/';
|
|
72
|
-
if (window.location.pathname === basePath) {
|
|
73
|
-
document.querySelector('.home-screen')?.classList.remove('hidden')
|
|
74
|
-
}`}}):null,jsxRuntimeExports.jsx(Loader,{})]})};function ProcessorManagerProvider({children:I}){return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:I})}const SentryProvider=({children:I})=>(useInitSentry(),I),App=()=>(reactExports.useEffect(()=>{serviceWorkerManager.registerServiceWorker(!1)},[]),jsxRuntimeExports.jsx(SentryProvider,{children:jsxRuntimeExports.jsx(WagmiContext,{children:jsxRuntimeExports.jsxs(ProcessorManagerProvider,{children:[jsxRuntimeExports.jsx(ToastContainer,{position:"bottom-right",containerId:"connect"}),jsxRuntimeExports.jsx(Router,{}),jsxRuntimeExports.jsx(Analytics,{})]})})})),common={cancel:"Cancel",delete:"Delete",continue:"Continue",empty:"Empty",create:"Create",save:"Save",export:"Export",reload:"Reload",reloadConnect:"Click here to reload Connect"},searchbar={placeholder:"Search Powerhouse",filterLabel:"File type"},folderView={sections:{folders:{title:"Folders",empty:"No folders 🗂️"},documents:{title:"Documents and files",empty:"No documents or files 📄"}}},files={options:{switchboardLink:"Switchboard Link"}},modals={deleteItem:{folder:{header:"Delete “{{item}}” folder?",body:"Are you sure you want to delete this folder? All files and subfolders within it will be removed."},file:{header:"Delete “{{item}}” file?",body:"Are you sure you want to delete this file?"}},deleteDrive:{title:'Delete "{{label}}" drive?',body:"Are you sure you want to delete this drive? All files and subfolders within it will be removed. Do you want to proceed?",inputPlaceholder:"Enter drive name..."},upgradeDrive:{header:"Upgrade to cloud drive",body:"You are moving files from a private to a shared drive. These files will become accessible to others in the shared drive.Do you want to proceed?"},createDocument:{header:"Create a new document",placeholder:"Document name"},connectSettings:{title:"Settings",body:"These settings will apply to all drives.",clearStorage:{button:"Clear Storage",description:"Delete previous session data",confirmation:{title:"Clear Storage",body:"Are you sure you want to clear the storage? This will remove all previous session data.",clearButton:"Clear Storage"}},enabledDocumentTypes:{title:"Document Models",description:"Documents enabled",allSelected:"All documents are selected"}},exportDocumentWithErrors:{title:"Your document contains errors",body:"Your document contains structure errors. Do you want to export it anyway?"},disclaimer:{title:"Disclaimer",body:"All content provided herein our website, hyperlinked sites, associated applications, forums, blogs, social media accounts and other platforms (“Site”) is for your general information only, procured from third party sources. We make no warranties of any kind in relation to our content, including but not limited to accuracy and updatedness. No part of the content that we provide constitutes financial advice, legal advice or any other form of advice meant for your specific reliance for any purpose. Any use or reliance on our content is solely at your own risk and discretion. You should conduct your own research, review, analyse and verify our content before relying on them. Trading is a highly risky activity that can lead to major losses, please therefore consult your financial advisor before making any decision. No content on our Site is meant to be a solicitation or offer."},cookiesPolicy:{title:"Cookies Policy",body:"<subtitle>Use of Cookies and Similar Technologies</subtitle><p>The Site is using cookies. Cookies are small text files that are placed on your computer by websites that you visit. They are widely used in order to make websites work, or work more efficiently, as well as to provide information to the owners of the site. Cookies are typically stored on your computer´s hard drive.Information collected from cookies is used by us to evaluate the effectiveness of our Site and analyze trends. The information collected from cookies allows us to determine such things as which parts of the Site are most visited and difficulties our visitors may experience in accessing the SIte. With this knowledge, we can improve the quality of your experience on the Site by recognizing and delivering more of the most desired features and information, as well as by resolving access difficulties.</p><p>We use third party service providers, to assist us in better understanding the use of our Site. Our service providers will place cookies on the hard drive of your computer (or use similar technologies) and will receive information that we select that will educate us on such things as how visitors navigate around our Site. This information is aggregated to provide statistical data about our users browsing actions and patterns, and does not personally identify individuals. This information may include:</p><p>Computer or mobile device information, Website usage information, such as:<list></p><bullet>Page views,</bullet><bullet>Button clicks,</bullet><bullet>Input form changes (without the values being entered),</bullet><bullet>Errors.</bullet></list><p>Our service providers analyses this information and provides us with aggregate reports. The information and analysis provided by our service providers will be used to assist us in better understanding our visitors interests in our Site and how to better serve those interests. If you want to avoid using cookies altogether, you can disable cookies in your browser. However, disabling cookies might make it impossible for you to use certain features of the Site. Your use of the Site with a browser that is configured to accept cookies constitutes an acceptance of our and third-party cookies.</p>"}},notifications={deleteDriveSuccess:"Drive successfully deleted",deleteFolderSuccess:"Folder deleted",fileDeleteSuccess:"File deleted",addDriveSuccess:"New drive successfully added",driveSyncSuccess:"Drive synced successfully",driveSyncError:"Error synchronizing drive {{drive}}",driveSyncConflict:"Conflict error detected in {{drive}}",reloadApp:"It seems like you're running an outdated version of the app. Please reload Connect to get the latest version."},footer={cookiePolicy:"Cookie Policy",termsOfUse:"Terms of Use",disclaimer:"Disclaimer",builtWith:"Built with <icon /> Powerhouse"},cookieBanner={message:"This website uses cookies for analytic purposes only. Cookies are anonymous and do not link to user data. We collect information to improve the user experience and validate UI changes. You can still use the page without cookies. For more information, please read our <a>cookies policy.</a>",accept:"Accept configured cookies",reject:"Reject all cookies",cookies:{functional:"Functional cookies",analytics:"Analytics cookies"}},translationEN={common,searchbar,folderView,files,modals,notifications,footer,cookieBanner},resources={en:{code:"en",name:"English",translation:translationEN}};instance.use(initReactI18next).init({resources,fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}}).catch(I=>{console.error(I)});const isCookieAccepted=(I,B)=>I.some(tr=>tr.id===B&&tr.value),CookieBanner=()=>{const{t:I}=useTranslation(void 0,{useSuspense:!0,i18n:instance}),[B,tr]=useCookieBanner(),[,rr]=useAcceptedCookies(),ir=[{id:"analytics-cookie",label:I("cookieBanner.cookies.analytics"),value:!0}],lr=mr=>{tr(!1),isCookieAccepted(mr,"analytics-cookie")&&rr(_r=>({..._r,analytics:!0}))},dr=()=>{tr(!1),rr(()=>({analytics:!1,functional:!1,marketing:!1}))};return B?jsxRuntimeExports.jsxs("div",{className:"absolute inset-0 z-[10000] backdrop-blur-sm",children:[jsxRuntimeExports.jsx("div",{className:"absolute inset-0 bg-black opacity-15"}),jsxRuntimeExports.jsx("div",{className:"absolute inset-x-0 bottom-0 flex justify-center bg-white px-10 pb-16 pt-10 shadow-lg",children:jsxRuntimeExports.jsx(CookieBanner$1,{className:"max-w-[1024px]",cookies:ir,onSubmit:lr,onReject:dr,submitLabel:I("cookieBanner.accept"),rejectLabel:I("cookieBanner.reject"),children:jsxRuntimeExports.jsx("p",{className:"font-semibold text-gray-500",children:jsxRuntimeExports.jsx(Trans,{i18nKey:"cookieBanner.message",components:{a:jsxRuntimeExports.jsx("a",{onClick:()=>showPHModal({type:"cookiesPolicy"}),className:"cursor-pointer text-gray-900 hover:underline"},"cookieBanner.message-link")}},"cookieBanner.message")})})})]}):null};function DocumentEditorContainer(){const[I]=useSelectedDrive(),[B]=useSelectedDocument(),tr=useNodeParentFolderById(B?.header.id),rr=getDriveIsRemote(I),ir=getDriveRemoteUrl(I),lr=useConnectCrypto(),dr=useUser(),mr=fr=>{if(validateDocument(fr).length)showPHModal({type:"exportDocumentWithErrors",documentId:fr.header.id});else return exportFile(fr)},_r=()=>{if(B)return mr(B)},hr=reactExports.useMemo(()=>rr?async()=>{if(!B?.header.id){console.error("No selected document");return}if(!ir){console.error("No remote drive url found");return}const fr=dr?.address?await lr?.getBearerToken(ir,dr.address,!1,{expiresIn:600}):void 0,gr=buildDocumentSubgraphUrl(ir,B.header.id,fr);try{openUrl(gr)}catch(xr){console.error("Error opening switchboard link",xr)}}:void 0,[rr,ir,B]);return B?jsxRuntimeExports.jsx("div",{id:"document-editor-container",className:"flex-1 rounded-2xl bg-gray-50 p-4",children:jsxRuntimeExports.jsx(DocumentEditor,{document:B,onClose:()=>setSelectedNode(tr),onExport:_r,onOpenSwitchboardLink:hr})}):null}const ErrorBoundaryContext=reactExports.createContext(null),initialState={didCatch:!1,error:null};class ErrorBoundary extends reactExports.Component{constructor(B){super(B),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=initialState}static getDerivedStateFromError(B){return{didCatch:!0,error:B}}resetErrorBoundary(){const{error:B}=this.state;if(B!==null){for(var tr,rr,ir=arguments.length,lr=new Array(ir),dr=0;dr<ir;dr++)lr[dr]=arguments[dr];(tr=(rr=this.props).onReset)===null||tr===void 0||tr.call(rr,{args:lr,reason:"imperative-api"}),this.setState(initialState)}}componentDidCatch(B,tr){var rr,ir;(rr=(ir=this.props).onError)===null||rr===void 0||rr.call(ir,B,tr)}componentDidUpdate(B,tr){const{didCatch:rr}=this.state,{resetKeys:ir}=this.props;if(rr&&tr.error!==null&&hasArrayChanged(B.resetKeys,ir)){var lr,dr;(lr=(dr=this.props).onReset)===null||lr===void 0||lr.call(dr,{next:ir,prev:B.resetKeys,reason:"keys"}),this.setState(initialState)}}render(){const{children:B,fallbackRender:tr,FallbackComponent:rr,fallback:ir}=this.props,{didCatch:lr,error:dr}=this.state;let mr=B;if(lr){const _r={error:dr,resetErrorBoundary:this.resetErrorBoundary};if(typeof tr=="function")mr=tr(_r);else if(rr)mr=reactExports.createElement(rr,_r);else if(ir!==void 0)mr=ir;else throw dr}return reactExports.createElement(ErrorBoundaryContext.Provider,{value:{didCatch:lr,error:dr,resetErrorBoundary:this.resetErrorBoundary}},mr)}}function hasArrayChanged(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return I.length!==B.length||I.some((tr,rr)=>!Object.is(tr,B[rr]))}function EditorLoader(I){const[B,tr]=reactExports.useState(!1);if(reactExports.useEffect(()=>{setTimeout(()=>{tr(!0)},I.loadingTimeout??200)},[I]),!B)return null;const{customEditorLoader:rr,...ir}=I;return rr?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:rr}):jsxRuntimeExports.jsx(DefaultEditorLoader,{...ir})}function DriveEditorError({error:I}){return jsxRuntimeExports.jsxs("div",{className:"mx-auto flex max-w-[80%] flex-1 flex-col items-center justify-center",children:[jsxRuntimeExports.jsx("h1",{className:"mb-2 text-xl font-semibold",children:"Error"}),jsxRuntimeExports.jsx("i",{children:I instanceof Error?I.message:I}),jsxRuntimeExports.jsx("pre",{children:JSON.stringify(I,null,2)})]})}function DriveEditorContainer(){const[I]=useSelectedDrive(),[B]=useSelectedDocument(),tr=useDriveEditorModuleById(I?.header.meta?.preferredEditor),rr=useDefaultDriveEditorModule(),ir=tr?.Component??rr?.Component??GenericDriveExplorer.Component;if(!ir)throw new Error("No drive editor component found");return jsxRuntimeExports.jsx(ErrorBoundary,{fallbackRender:DriveEditorError,children:jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(EditorLoader,{}),children:jsxRuntimeExports.jsx(DropZoneWrapper,{className:"flex h-full flex-col overflow-auto",children:jsxRuntimeExports.jsx(ir,{children:B?jsxRuntimeExports.jsx(DocumentEditorContainer,{}):null})})})},I.header.id)}function DriveIcon({drive:I}){const B=getDriveSharingType(I),tr=I?.state.global.icon;return tr?jsxRuntimeExports.jsx("img",{src:tr,alt:I.header.name,height:32,width:32}):B==="LOCAL"?jsxRuntimeExports.jsx(Icon,{name:"Hdd",size:32}):jsxRuntimeExports.jsx(Icon,{name:"Server",size:32})}function EditorError({message:I}){return jsxRuntimeExports.jsx("div",{className:"flex size-full items-center justify-center",children:jsxRuntimeExports.jsx("h3",{className:"text-lg font-semibold",children:I})})}function FallbackEditorError(I){const B=I.error instanceof Error?I.error.message:I.error;return jsxRuntimeExports.jsx(EditorError,{message:B})}const DocumentEditor=I=>{const{document:B,onClose:tr,onExport:rr,onOpenSwitchboardLink:ir}=I,lr=useSelectedTimelineItem(),dr=useRevisionHistoryVisible(),[mr,_r]=useDocumentById(B.header.id),hr=mr?.header.id??void 0,fr=mr?.header.name??void 0,gr=mr?.header.documentType??void 0,xr=mr?.header.meta?.preferredEditor??void 0,wr=mr?.operations.global??[],Sr=mr?.operations.local??[],vr=mr?.header.revision.global??0,Ir=mr?.header.revision.local??0,Mr=useDocumentModelModuleById(gr),yr=useEditorModuleById(xr),br=useFallbackEditorModule(gr),Cr=yr??br,Fr=!mr,Lr=Cr&&gr&&!Cr.documentTypes.includes(gr)&&!Cr.documentTypes.includes("*"),Ar=vr>0||Ir>0,Or=!!mr?.clipboard.length;useUndoRedoShortcuts({undo:()=>_r(undo()),redo:()=>_r(redo()),canUndo:Ar,canRedo:Or}),reactExports.useEffect(()=>()=>{window.documentEditorDebugTools?.clear()},[]);const[oo,zr]=reactExports.useState(void 0);reactExports.useEffect(()=>{oo&&oo.documentId!==hr&&zr(void 0)},[oo,hr]);const ao=(Eo,So)=>{zr({error:Eo,documentId:hr,info:So})};if(Lr)return jsxRuntimeExports.jsx(EditorLoader,{message:"Loading editor"});if(Fr)return jsxRuntimeExports.jsx(EditorLoader,{message:"Loading document"});if(!Mr)return jsxRuntimeExports.jsx(EditorError,{message:jsxRuntimeExports.jsxs("div",{className:"text-center leading-10",children:[jsxRuntimeExports.jsxs("p",{children:['Unable to open the document because the document model "',gr,'" is not supported.']}),jsxRuntimeExports.jsxs("p",{children:["Go to the"," ",jsxRuntimeExports.jsx("button",{type:"button",className:"cursor-pointer underline",onClick:()=>{showPHModal({type:"settings"})},children:"package manager"})," ","to install this document model"]})]})});if(!Cr)return jsxRuntimeExports.jsx(EditorError,{message:jsxRuntimeExports.jsxs("div",{className:"text-center leading-10",children:[jsxRuntimeExports.jsx("p",{children:"Unable to open the document because no editor has been found"}),jsxRuntimeExports.jsxs("p",{children:["Go to the"," ",jsxRuntimeExports.jsx("button",{type:"button",className:"cursor-pointer underline",onClick:()=>{showPHModal({type:"settings"})},children:"package manager"})," ",'an editor for the "$',gr,'" document type']})]})});const no=Cr.Component;return jsxRuntimeExports.jsx("div",{className:"relative h-full",id:"document-editor-context",children:dr?jsxRuntimeExports.jsx(RevisionHistory,{documentTitle:fr??"",documentId:hr??"",globalOperations:wr,localOperations:Sr,onClose:()=>setRevisionHistoryVisible(!1),documentState:mr.state,onCopyState:()=>{toast("Copied document state to clipboard",{type:"success"})}},hr):jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(EditorLoader,{message:"Loading editor"}),name:"EditorLoader",children:jsxRuntimeExports.jsx(ErrorBoundary,{fallbackRender:FallbackEditorError,onError:ao,children:!oo?.error&&jsxRuntimeExports.jsx(no,{context:{readMode:!!lr,selectedTimelineRevision:getRevisionFromDate(lr?.startDate,lr?.endDate,wr)},documentId:mr.header.id},hr)},hr)})})},logger=childLogger(["Connect","Modals"]);class ModalErrorBoundary extends reactExports.Component{constructor(B){super(B),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(B,tr){logger.error(B,tr)}render(){return this.state.hasError?null:this.props.children}}const AddDriveModal=reactExports.lazy(()=>__vitePreload(()=>import("./AddDriveModal-sL0hSfwK.js"),__vite__mapDeps([21,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.AddDriveModal}))),ClearStorageModal=reactExports.lazy(()=>__vitePreload(()=>import("./ClearStorageModal-taO2ME0w.js"),__vite__mapDeps([22,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.ClearStorageModal}))),CookiesPolicyModal=reactExports.lazy(()=>__vitePreload(()=>import("./CookiesPolicyModal-8Ea1bpuS.js"),__vite__mapDeps([23,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.CookiesPolicyModal}))),CreateDocumentModal=reactExports.lazy(()=>__vitePreload(()=>import("./CreateDocumentModal-CSVg8ZHf.js"),__vite__mapDeps([24,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17])).then(I=>({default:I.CreateDocumentModal}))),DebugSettingsModal=reactExports.lazy(()=>__vitePreload(()=>import("./DebugSettingsModal-BN0vka2j.js"),__vite__mapDeps([25,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.DebugSettingsModal}))),DeleteDriveModal=reactExports.lazy(()=>__vitePreload(()=>import("./DeleteDriveModal-BkMiD-at.js"),__vite__mapDeps([26,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.DeleteDriveModal}))),DeleteItemModal=reactExports.lazy(()=>__vitePreload(()=>import("./DeleteItemModal-DYfBVcdK.js"),__vite__mapDeps([27,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.DeleteItemModal}))),DisclaimerModal=reactExports.lazy(()=>__vitePreload(()=>import("./DisclaimerModal-orJjo4Cr.js"),__vite__mapDeps([28,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.DisclaimerModal}))),DriveSettingsModal=reactExports.lazy(()=>__vitePreload(()=>import("./DriveSettingsModal-DghD5DLg.js"),__vite__mapDeps([29,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17])).then(I=>({default:I.DriveSettingsModal}))),ExportDocumentWithErrorsModal=reactExports.lazy(()=>__vitePreload(()=>import("./ExportDocumentWithErrorsModal--MRX9RA5.js"),__vite__mapDeps([30,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.ExportDocumentWithErrorsModal}))),SettingsModal=reactExports.lazy(()=>__vitePreload(()=>import("./SettingsModal-DyKVA0Ca.js"),__vite__mapDeps([31,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.SettingsModal}))),UpgradeDriveModal=reactExports.lazy(()=>__vitePreload(()=>import("./UpgradeDriveModal-RsikHBVp.js"),__vite__mapDeps([32,9,7,10,0,1,2,11,5,6,12,13,3,4,8,14,15,16,17,19])).then(I=>({default:I.UpgradeDriveModal}))),modalComponents={addDrive:AddDriveModal,clearStorage:ClearStorageModal,cookiesPolicy:CookiesPolicyModal,createDocument:CreateDocumentModal,debugSettings:DebugSettingsModal,deleteDrive:DeleteDriveModal,deleteItem:DeleteItemModal,disclaimer:DisclaimerModal,driveSettings:DriveSettingsModal,exportDocumentWithErrors:ExportDocumentWithErrorsModal,settings:SettingsModal,upgradeDrive:UpgradeDriveModal};function ModalsContainer(){const I=usePHModal();if(!I?.type)return null;const B=modalComponents[I.type];return B?jsxRuntimeExports.jsx(ModalErrorBoundary,{children:jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:null,children:jsxRuntimeExports.jsx(B,{})})}):null}function getDocumentSpec(I){return I.documentModel.global}function CreateDocument(){const{isAllowedToCreateDocuments:I}=useUserPermissions(),tr=useDocumentModelModules()?.filter(rr=>rr.documentModel.global.id!=="powerhouse/document-drive");return I?jsxRuntimeExports.jsxs("div",{className:"px-6 py-4",children:[jsxRuntimeExports.jsx("h3",{className:"mb-3 text-xl font-bold text-gray-600",children:"New document"}),jsxRuntimeExports.jsx("div",{className:"flex w-full flex-wrap gap-4",children:tr?.map(rr=>{const ir=getDocumentSpec(rr);return jsxRuntimeExports.jsx(PowerhouseButton,{color:"light",title:ir.name,"aria-description":ir.description,onClick:()=>showCreateDocumentModal(ir.id),children:jsxRuntimeExports.jsx("span",{className:"text-sm",children:ir.name})},ir.id)})})]}):null}const GAP=8,ITEM_WIDTH=256,ITEM_HEIGHT=48,USED_SPACE=420;function FileContentView(){const I=reactExports.useRef(null),tr=useWindowSize().innerWidth-USED_SPACE,ir=useNodesInSelectedDriveOrFolder().filter(xr=>isFileNodeKind(xr)),lr=Math.floor(tr/(ITEM_WIDTH+GAP))||1,dr=Math.ceil(ir.length/lr),mr=useVirtualizer({count:dr,getScrollElement:()=>I.current,estimateSize:xr=>xr>0?ITEM_HEIGHT+GAP:ITEM_HEIGHT,overscan:5}),_r=useVirtualizer({horizontal:!0,count:lr,getScrollElement:()=>I.current,estimateSize:xr=>xr>0?ITEM_WIDTH+GAP:ITEM_WIDTH,overscan:5}),hr=(xr,wr)=>xr*lr+wr,fr=(xr,wr)=>{const Sr=hr(xr,wr);return ir[Sr]||null};if(ir.length===0)return jsxRuntimeExports.jsx("div",{className:"mb-8 text-sm text-gray-400",children:"No documents or files 📄"});const gr=(xr,wr)=>{const Sr=fr(xr,wr);return Sr?jsxRuntimeExports.jsx("div",{style:{marginLeft:wr===0?0:GAP},children:jsxRuntimeExports.jsx(FileItem,{fileNode:Sr},Sr.id)}):null};return jsxRuntimeExports.jsx("div",{ref:I,style:{width:"100%",overflow:"auto"},children:jsxRuntimeExports.jsx("div",{style:{height:`${mr.getTotalSize()}px`,width:`${_r.getTotalSize()}px`,position:"relative"},children:mr.getVirtualItems().map(xr=>jsxRuntimeExports.jsx(React$1.Fragment,{children:_r.getVirtualItems().map(wr=>jsxRuntimeExports.jsx("div",{style:{position:"absolute",top:0,left:0,marginTop:xr.index===0?0:GAP,width:`${wr.size}px`,height:`${xr.size}px`,transform:`translateX(${wr.start}px) translateY(${xr.start}px)`},children:gr(xr.index,wr.index)},wr.key))},xr.key))})})}function DriveLayout({children:I,className:B,...tr}){return jsxRuntimeExports.jsx(DriveLayout.Container,{className:B,...tr,children:I})}DriveLayout.Container=function I({children:B,className:tr,containerProps:rr,...ir}){return jsxRuntimeExports.jsx("div",{className:cn$1("flex grow flex-col overflow-auto rounded-2xl bg-gray-50 p-2",tr),...rr,...ir,children:B})};DriveLayout.Header=function I({children:B,className:tr,containerProps:rr,...ir}){return jsxRuntimeExports.jsx("div",{className:cn$1("flex-0",tr),...rr,...ir,children:B})};DriveLayout.Content=function I({children:B,className:tr,containerProps:rr,...ir}){return jsxRuntimeExports.jsx("div",{className:cn$1("mb-5 flex-1 px-4",tr),...rr,...ir,children:B})};DriveLayout.ContentSection=function I({title:B,children:tr,className:rr,containerProps:ir,...lr}){return jsxRuntimeExports.jsxs("div",{className:cn$1(rr),...ir,...lr,children:[B&&jsxRuntimeExports.jsx("div",{className:"mb-4 text-base font-semibold text-gray-600",children:B}),jsxRuntimeExports.jsx("div",{className:"flex flex-wrap gap-2",children:tr})]})};DriveLayout.Footer=function I({children:B,className:tr,containerProps:rr,...ir}){return jsxRuntimeExports.jsx("div",{className:cn$1("flex-0",tr),...rr,...ir,children:B})};function FolderView(I){const{className:B}=I,tr=useNodesInSelectedDriveOrFolder(),rr=useSelectedFolder(),ir=tr.filter(mr=>isFolderNodeKind(mr)),{isDropTarget:lr,dropProps:dr}=useDrop({target:rr});return jsxRuntimeExports.jsxs("div",{className:twMerge("rounded-md border-2 border-transparent p-2",lr&&"border-dashed border-blue-100",B),...dr,children:[jsxRuntimeExports.jsx(DriveLayout.ContentSection,{title:"Folders",className:"mb-4",children:ir.length>0?ir.map(mr=>jsxRuntimeExports.jsx(FolderItem,{folderNode:mr},mr.id)):jsxRuntimeExports.jsx("div",{className:"mb-8 text-sm text-gray-400",children:"No documents or files 📄"})}),jsxRuntimeExports.jsx(DriveLayout.ContentSection,{title:"Documents and files",children:jsxRuntimeExports.jsx("div",{className:"w-full",children:jsxRuntimeExports.jsx(FileContentView,{})})})]})}const editorConfig={allowedDocumentTypes:[],isDragAndDropEnabled:!0};function Editor(I){useSetPHDriveEditorConfig(editorConfig);const{className:B,children:tr}=I,{isDropTarget:rr,dropProps:ir}=useDrop(),lr=!!tr;return jsxRuntimeExports.jsxs(DriveLayout,{className:B,children:[!lr&&jsxRuntimeExports.jsx(DriveLayout.Header,{children:jsxRuntimeExports.jsx(Breadcrumbs,{})}),lr?tr:jsxRuntimeExports.jsx(DriveLayout.Content,{...ir,className:rr?"rounded-xl bg-blue-100":"",children:jsxRuntimeExports.jsx(FolderView,{})}),!lr&&jsxRuntimeExports.jsx(DriveLayout.Footer,{children:jsxRuntimeExports.jsx(CreateDocument,{})})]})}const editor=Object.freeze(Object.defineProperty({__proto__:null,default:Editor},Symbol.toStringTag,{value:"Module"}));function loadGenericDriveExplorerEditorModule(){return{id:DEFAULT_DRIVE_EDITOR_ID,name:"Generic Drive Explorer",documentTypes:["powerhouse/document-drive"],Component:Editor}}function loadDocumentModelEditor(){return{id:"document-model-editor-v2",name:"Document Model Editor",documentTypes:["powerhouse/document-model"],Component:Editor$1}}async function loadDocumentModelDocumentModelModule(){const I=documentModelDocumentModelModule.documentModel.global,B=I.name,tr=I.id,rr=tr,ir=I.extension,lr=I.specifications,dr=documentModelDocumentModelModule.reducer,mr=documentModelDocumentModelModule.actions,_r=documentModelDocumentModelModule.utils;return{id:rr,name:B,documentType:tr,extension:ir,specifications:lr,reducer:dr,actions:mr,utils:_r,documentModel:createState(defaultBaseState(),I)}}async function loadDriveDocumentModelModule(){const I=driveDocumentModelModule.documentModel.global,B=I.name,tr=I.id,rr=tr,ir=I.extension,lr=I.specifications,dr=driveDocumentModelModule.reducer,mr=driveDocumentModelModule.actions,_r=driveDocumentModelModule.utils;return{id:rr,name:B,documentType:tr,extension:ir,specifications:lr,reducer:dr,actions:mr,utils:_r,documentModel:createState(defaultBaseState(),I)}}async function loadCommonPackage(){const I=await loadDocumentModelDocumentModelModule(),B=await loadDriveDocumentModelModule(),tr=loadDocumentModelEditor(),rr=loadGenericDriveExplorerEditorModule();return{id:COMMON_PACKAGE_ID,name:"Common",description:"Common",category:"Common",author:{name:"Powerhouse",website:"https://powerhousedao.com"},modules:{documentModelModules:[I,B],editorModules:[tr,rr]}}}const{externalPackagesEnabled}=connectConfig;function convertExternalPackages(I){return I.loadExternalPackages().then(B=>B.map(convertLegacyLibToVetraPackage))}async function loadExternalPackages(){try{if(!externalPackagesEnabled)return[];const I=await __vitePreload(()=>import("./_virtual_ph_external-packages-CM1tCR4L.js"),[]);return convertExternalPackages(I)}catch(I){return console.error(I),[]}}var __defProp$1=Object.defineProperty,__defProps$1=Object.defineProperties,__getOwnPropDescs$1=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$1=Object.getOwnPropertySymbols,__hasOwnProp$1=Object.prototype.hasOwnProperty,__propIsEnum$1=Object.prototype.propertyIsEnumerable,__defNormalProp$1=(I,B,tr)=>B in I?__defProp$1(I,B,{enumerable:!0,configurable:!0,writable:!0,value:tr}):I[B]=tr,__spreadValues$1=(I,B)=>{for(var tr in B||(B={}))__hasOwnProp$1.call(B,tr)&&__defNormalProp$1(I,tr,B[tr]);if(__getOwnPropSymbols$1)for(var tr of __getOwnPropSymbols$1(B))__propIsEnum$1.call(B,tr)&&__defNormalProp$1(I,tr,B[tr]);return I},__spreadProps$1=(I,B)=>__defProps$1(I,__getOwnPropDescs$1(B)),__async$1=(I,B,tr)=>new Promise((rr,ir)=>{var lr=_r=>{try{mr(tr.next(_r))}catch(hr){ir(hr)}},dr=_r=>{try{mr(tr.throw(_r))}catch(hr){ir(hr)}},mr=_r=>_r.done?rr(_r.value):Promise.resolve(_r.value).then(lr,dr);mr((tr=tr.apply(I,B)).next())}),MapHookData=class{constructor(){this.data=new Map}set(I,B){this.data.set(I,B)}get(I){return this.data.get(I)}has(I){return this.data.has(I)}delete(I){return this.data.delete(I)}clear(){this.data.clear()}},StandardResolutionReasons={ERROR:"ERROR"},ErrorCode=(I=>(I.PROVIDER_NOT_READY="PROVIDER_NOT_READY",I.PROVIDER_FATAL="PROVIDER_FATAL",I.FLAG_NOT_FOUND="FLAG_NOT_FOUND",I.PARSE_ERROR="PARSE_ERROR",I.TYPE_MISMATCH="TYPE_MISMATCH",I.TARGETING_KEY_MISSING="TARGETING_KEY_MISSING",I.INVALID_CONTEXT="INVALID_CONTEXT",I.GENERAL="GENERAL",I))(ErrorCode||{}),OpenFeatureError=class ws extends Error{constructor(B,tr){super(B),Object.setPrototypeOf(this,ws.prototype),this.name="OpenFeatureError",this.cause=tr?.cause}},FlagNotFoundError=class Ss extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,Ss.prototype),this.name="FlagNotFoundError",this.code="FLAG_NOT_FOUND"}},GeneralError=class ys extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,ys.prototype),this.name="GeneralError",this.code="GENERAL"}},InvalidContextError=class Ms extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,Ms.prototype),this.name="InvalidContextError",this.code="INVALID_CONTEXT"}},ParseError=class vs extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,vs.prototype),this.name="ParseError",this.code="PARSE_ERROR"}},ProviderFatalError=class bs extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,bs.prototype),this.name="ProviderFatalError",this.code="PROVIDER_FATAL"}},ProviderNotReadyError=class Cs extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,Cs.prototype),this.name="ProviderNotReadyError",this.code="PROVIDER_NOT_READY"}},TargetingKeyMissingError=class Is extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,Is.prototype),this.name="TargetingKeyMissingError",this.code="TARGETING_KEY_MISSING"}},TypeMismatchError=class As extends OpenFeatureError{constructor(B,tr){super(B,tr),Object.setPrototypeOf(this,As.prototype),this.name="TypeMismatchError",this.code="TYPE_MISMATCH"}},instantiateErrorByErrorCode=(I,B)=>{switch(I){case"FLAG_NOT_FOUND":return new FlagNotFoundError(B);case"PARSE_ERROR":return new ParseError(B);case"TYPE_MISMATCH":return new TypeMismatchError(B);case"TARGETING_KEY_MISSING":return new TargetingKeyMissingError(B);case"INVALID_CONTEXT":return new InvalidContextError(B);case"PROVIDER_NOT_READY":return new ProviderNotReadyError(B);case"PROVIDER_FATAL":return new ProviderFatalError(B);default:return new GeneralError(B)}},ClientProviderStatus=(I=>(I.NOT_READY="NOT_READY",I.READY="READY",I.ERROR="ERROR",I.STALE="STALE",I.FATAL="FATAL",I.RECONCILING="RECONCILING",I))(ClientProviderStatus||{}),ClientProviderEvents=(I=>(I.Ready="PROVIDER_READY",I.Error="PROVIDER_ERROR",I.ConfigurationChanged="PROVIDER_CONFIGURATION_CHANGED",I.ContextChanged="PROVIDER_CONTEXT_CHANGED",I.Reconciling="PROVIDER_RECONCILING",I.Stale="PROVIDER_STALE",I))(ClientProviderEvents||{}),eventStatusMap={READY:"PROVIDER_READY",ERROR:"PROVIDER_ERROR",FATAL:"PROVIDER_ERROR",STALE:"PROVIDER_STALE",RECONCILING:"PROVIDER_RECONCILING",NOT_READY:void 0},statusMatchesEvent=(I,B)=>!B&&I==="PROVIDER_READY"||eventStatusMap[B]===I,DefaultLogger=class{error(...I){console.error(...I)}warn(...I){console.warn(...I)}info(){}debug(){}},LOG_LEVELS=["error","warn","info","debug"],SafeLogger=class{constructor(I){this.fallbackLogger=new DefaultLogger;try{for(const B of LOG_LEVELS)if(!I[B]||typeof I[B]!="function")throw new Error(`The provided logger is missing the ${B} method.`);this.logger=I}catch(B){console.error(B),console.error("Falling back to the default logger."),this.logger=this.fallbackLogger}}error(...I){this.log("error",...I)}warn(...I){this.log("warn",...I)}info(...I){this.log("info",...I)}debug(...I){this.log("debug",...I)}log(I,...B){try{this.logger[I](...B)}catch{this.fallbackLogger[I](...B)}}},GenericEventEmitter=class{constructor(I){this.globalLogger=I,this._handlers={PROVIDER_CONFIGURATION_CHANGED:new WeakMap,PROVIDER_CONTEXT_CHANGED:new WeakMap,PROVIDER_READY:new WeakMap,PROVIDER_ERROR:new WeakMap,PROVIDER_STALE:new WeakMap,PROVIDER_RECONCILING:new WeakMap}}emit(I,B){this.eventEmitter.emit(I,B)}addHandler(I,B){const tr=ir=>__async$1(this,null,function*(){var lr;try{yield B(ir)}catch(dr){(lr=this._logger)==null||lr.error("Error running event handler:",dr)}}),rr=this._handlers[I].get(B);this._handlers[I].set(B,[...rr||[],tr]),this.eventEmitter.on(I,tr)}removeHandler(I,B){const tr=this._handlers[I].get(B);if(tr){const rr=tr.pop();rr&&this.eventEmitter.removeListener(I,rr)}}removeAllHandlers(I){I?this.eventEmitter.removeAllListeners(I):this.eventEmitter.removeAllListeners()}getHandlers(I){return this.eventEmitter.listeners(I)}setLogger(I){return this._eventLogger=new SafeLogger(I),this}get _logger(){var I,B;return(B=this._eventLogger)!=null?B:(I=this.globalLogger)==null?void 0:I.call(this)}};function isString(I){return typeof I=="string"}function stringOrUndefined(I){return isString(I)?I:void 0}function isObject(I){return typeof I=="object"}function objectOrUndefined(I){return isObject(I)?I:void 0}function isDefined(I){return typeof I<"u"&&I!==null}var ProviderWrapper=class{constructor(I,B,tr){this._provider=I,this._status=B,this._pendingContextChanges=0;var rr,ir,lr;(rr=I.events)==null||rr.addHandler("PROVIDER_READY",()=>{this._status=tr.READY}),(ir=I.events)==null||ir.addHandler("PROVIDER_STALE",()=>{this._status=tr.STALE}),(lr=I.events)==null||lr.addHandler("PROVIDER_ERROR",dr=>{dr?.errorCode==="PROVIDER_FATAL"?this._status=tr.FATAL:this._status=tr.ERROR})}get provider(){return this._provider}set provider(I){this._provider=I}get status(){return this._status}set status(I){this._status=I}get allContextChangesSettled(){return this._pendingContextChanges===0}incrementPendingContextChanges(){this._pendingContextChanges++}decrementPendingContextChanges(){this._pendingContextChanges--}},OpenFeatureCommonAPI=class{constructor(I){this._hooks=[],this._context={},this._logger=new DefaultLogger,this._clientEventHandlers=new Map,this._domainScopedContext=new Map,this._clientEvents=new Map,this._runsOn=I}addHooks(...I){return this._hooks=[...this._hooks,...I],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}setLogger(I){return this._logger=new SafeLogger(I),this}get providerMetadata(){return this.getProviderMetadata()}getProviderMetadata(I){return this.getProviderForClient(I).metadata}addHandler(I,B,tr){[...new Map([[void 0,this._defaultProvider]]),...this._domainScopedProviders].forEach(rr=>{var ir;const lr=rr[0],dr=rr[1].provider,mr=rr[1].status;if(statusMatchesEvent(I,mr))try{B({domain:lr,providerName:dr.metadata.name})}catch(hr){(ir=this._logger)==null||ir.error("Error running event handler:",hr)}}),this._apiEmitter.addHandler(I,B),tr?.signal&&typeof tr.signal.addEventListener=="function"&&tr.signal.addEventListener("abort",()=>{this.removeHandler(I,B)})}removeHandler(I,B){this._apiEmitter.removeHandler(I,B)}clearHandlers(){this._apiEmitter.removeAllHandlers()}getHandlers(I){return this._apiEmitter.getHandlers(I)}setAwaitableProvider(I,B){var tr,rr,ir,lr,dr,mr,_r,hr;const fr=stringOrUndefined(I),gr=(tr=objectOrUndefined(I))!=null?tr:objectOrUndefined(B);if(!gr){this._logger.debug("No provider defined, ignoring setProvider call");return}const xr=this.getProviderForClient(fr),wr=gr.metadata.name;if(xr===gr){this._logger.debug("Provider is already set, ignoring setProvider call");return}if(!gr.runsOn)this._logger.debug(`Provider '${gr.metadata.name}' has not defined its intended use.`);else if(gr.runsOn!==this._runsOn)throw new GeneralError(`Provider '${gr.metadata.name}' is intended for use on the ${gr.runsOn}.`);const Sr=this.getAssociatedEventEmitters(fr);let vr;const Ir=new ProviderWrapper(gr,this._statusEnumType.NOT_READY,this._statusEnumType);return typeof gr.initialize=="function"&&!this.allProviders.includes(gr)?vr=(dr=(lr=(ir=gr.initialize)==null?void 0:ir.call(gr,fr?(rr=this._domainScopedContext.get(fr))!=null?rr:this._context:this._context))==null?void 0:lr.then(()=>{var Mr;Ir.status=this._statusEnumType.READY,this.getAssociatedEventEmitters(fr).forEach(yr=>{yr?.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:wr})}),(Mr=this._apiEmitter)==null||Mr.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:wr})}))==null?void 0:dr.catch(Mr=>{var yr;throw Mr?.code==="PROVIDER_FATAL"?Ir.status=this._statusEnumType.FATAL:Ir.status=this._statusEnumType.ERROR,this.getAssociatedEventEmitters(fr).forEach(br=>{br?.emit("PROVIDER_ERROR",{clientName:fr,domain:fr,providerName:wr,message:Mr?.message})}),(yr=this._apiEmitter)==null||yr.emit("PROVIDER_ERROR",{clientName:fr,domain:fr,providerName:wr,message:Mr?.message}),Mr}):(Ir.status=this._statusEnumType.READY,Sr.forEach(Mr=>{Mr?.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:wr})}),(mr=this._apiEmitter)==null||mr.emit("PROVIDER_READY",{clientName:fr,domain:fr,providerName:wr})),fr?this._domainScopedProviders.set(fr,Ir):this._defaultProvider=Ir,this.transferListeners(xr,gr,fr,Sr),this.allProviders.includes(xr)||(hr=(_r=xr?.onClose)==null?void 0:_r.call(xr))==null||hr.catch(Mr=>{this._logger.error(`error closing provider: ${Mr?.message}, ${Mr?.stack}`)}),vr}getProviderForClient(I){var B,tr;return I?(tr=(B=this._domainScopedProviders.get(I))==null?void 0:B.provider)!=null?tr:this._defaultProvider.provider:this._defaultProvider.provider}buildAndCacheEventEmitterForClient(I){const B=this._clientEvents.get(I);if(B)return B;const tr=this._createEventEmitter();this._clientEvents.set(I,tr);const rr=this.getProviderForClient(I);return Object.values(ClientProviderEvents).forEach(ir=>{var lr;return(lr=rr.events)==null?void 0:lr.addHandler(ir,dr=>__async$1(this,null,function*(){tr.emit(ir,__spreadProps$1(__spreadValues$1({},dr),{clientName:I,domain:I,providerName:rr.metadata.name}))}))}),tr}getUnboundEmitters(){const I=[...this._domainScopedProviders.keys()];return[...[...this._clientEvents.keys()].filter(isDefined).filter(rr=>!I.includes(rr)).map(rr=>this._clientEvents.get(rr)),this._clientEvents.get(void 0)].filter(isDefined)}getAssociatedEventEmitters(I){return I?[this.buildAndCacheEventEmitterForClient(I)]:this.getUnboundEmitters()}transferListeners(I,B,tr,rr){var ir;(ir=this._clientEventHandlers.get(tr))==null||ir.forEach(dr=>{var mr;return(mr=I.events)==null?void 0:mr.removeHandler(...dr)});const lr=Object.values(ClientProviderEvents).map(dr=>[dr,_r=>__async$1(this,null,function*(){rr.forEach(hr=>{hr?.emit(dr,__spreadProps$1(__spreadValues$1({},_r),{clientName:tr,domain:tr,providerName:B.metadata.name}))}),this._apiEmitter.emit(dr,__spreadProps$1(__spreadValues$1({},_r),{clientName:tr,domain:tr,providerName:B.metadata.name}))})]);this._clientEventHandlers.set(tr,lr),lr.forEach(dr=>{var mr;return(mr=B.events)==null?void 0:mr.addHandler(...dr)})}close(){return __async$1(this,null,function*(){var I,B;try{yield(B=(I=this==null?void 0:this._defaultProvider.provider)==null?void 0:I.onClose)==null?void 0:B.call(I)}catch(rr){this.handleShutdownError(this._defaultProvider.provider,rr)}const tr=Array.from(this._domainScopedProviders);yield Promise.all(tr.map(rr=>__async$1(this,[rr],function*([,ir]){var lr,dr;try{yield(dr=ir==null?void 0:(lr=ir.provider).onClose)==null?void 0:dr.call(lr)}catch(mr){this.handleShutdownError(ir?.provider,mr)}})))})}clearProvidersAndSetDefault(I){return __async$1(this,null,function*(){try{yield this.close()}catch{this._logger.error("Unable to cleanly close providers. Resetting to the default configuration.")}finally{this._domainScopedProviders.clear(),this._defaultProvider=new ProviderWrapper(I,this._statusEnumType.NOT_READY,this._statusEnumType)}})}get allProviders(){return[...[...this._domainScopedProviders.values()].map(I=>I.provider),this._defaultProvider.provider]}handleShutdownError(I,B){this._logger.error(`Error during shutdown of provider ${I.metadata.name}: ${B}`),this._logger.error(B?.stack)}},__create=Object.create,__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropNames=Object.getOwnPropertyNames,__getOwnPropSymbols=Object.getOwnPropertySymbols,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__reflectGet=Reflect.get,__defNormalProp=(I,B,tr)=>B in I?__defProp(I,B,{enumerable:!0,configurable:!0,writable:!0,value:tr}):I[B]=tr,__spreadValues=(I,B)=>{for(var tr in B||(B={}))__hasOwnProp.call(B,tr)&&__defNormalProp(I,tr,B[tr]);if(__getOwnPropSymbols)for(var tr of __getOwnPropSymbols(B))__propIsEnum.call(B,tr)&&__defNormalProp(I,tr,B[tr]);return I},__spreadProps=(I,B)=>__defProps(I,__getOwnPropDescs(B)),__commonJS=(I,B)=>function(){return B||(0,I[__getOwnPropNames(I)[0]])((B={exports:{}}).exports,B),B.exports},__copyProps=(I,B,tr,rr)=>{if(B&&typeof B=="object"||typeof B=="function")for(let ir of __getOwnPropNames(B))!__hasOwnProp.call(I,ir)&&ir!==tr&&__defProp(I,ir,{get:()=>B[ir],enumerable:!(rr=__getOwnPropDesc(B,ir))||rr.enumerable});return I},__toESM=(I,B,tr)=>(tr=I!=null?__create(__getProtoOf(I)):{},__copyProps(__defProp(tr,"default",{value:I,enumerable:!0}),I)),__superGet=(I,B,tr)=>__reflectGet(__getProtoOf(I),tr,B),__async=(I,B,tr)=>new Promise((rr,ir)=>{var lr=_r=>{try{mr(tr.next(_r))}catch(hr){ir(hr)}},dr=_r=>{try{mr(tr.throw(_r))}catch(hr){ir(hr)}},mr=_r=>_r.done?rr(_r.value):Promise.resolve(_r.value).then(lr,dr);mr((tr=tr.apply(I,B)).next())}),require_eventemitter3=__commonJS({"../../node_modules/eventemitter3/index.js"(I,B){var tr=Object.prototype.hasOwnProperty,rr="~";function ir(){}Object.create&&(ir.prototype=Object.create(null),new ir().__proto__||(rr=!1));function lr(hr,fr,gr){this.fn=hr,this.context=fr,this.once=gr||!1}function dr(hr,fr,gr,xr,wr){if(typeof gr!="function")throw new TypeError("The listener must be a function");var Sr=new lr(gr,xr||hr,wr),vr=rr?rr+fr:fr;return hr._events[vr]?hr._events[vr].fn?hr._events[vr]=[hr._events[vr],Sr]:hr._events[vr].push(Sr):(hr._events[vr]=Sr,hr._eventsCount++),hr}function mr(hr,fr){--hr._eventsCount===0?hr._events=new ir:delete hr._events[fr]}function _r(){this._events=new ir,this._eventsCount=0}_r.prototype.eventNames=function(){var fr=[],gr,xr;if(this._eventsCount===0)return fr;for(xr in gr=this._events)tr.call(gr,xr)&&fr.push(rr?xr.slice(1):xr);return Object.getOwnPropertySymbols?fr.concat(Object.getOwnPropertySymbols(gr)):fr},_r.prototype.listeners=function(fr){var gr=rr?rr+fr:fr,xr=this._events[gr];if(!xr)return[];if(xr.fn)return[xr.fn];for(var wr=0,Sr=xr.length,vr=new Array(Sr);wr<Sr;wr++)vr[wr]=xr[wr].fn;return vr},_r.prototype.listenerCount=function(fr){var gr=rr?rr+fr:fr,xr=this._events[gr];return xr?xr.fn?1:xr.length:0},_r.prototype.emit=function(fr,gr,xr,wr,Sr,vr){var Ir=rr?rr+fr:fr;if(!this._events[Ir])return!1;var Mr=this._events[Ir],yr=arguments.length,br,Cr;if(Mr.fn){switch(Mr.once&&this.removeListener(fr,Mr.fn,void 0,!0),yr){case 1:return Mr.fn.call(Mr.context),!0;case 2:return Mr.fn.call(Mr.context,gr),!0;case 3:return Mr.fn.call(Mr.context,gr,xr),!0;case 4:return Mr.fn.call(Mr.context,gr,xr,wr),!0;case 5:return Mr.fn.call(Mr.context,gr,xr,wr,Sr),!0;case 6:return Mr.fn.call(Mr.context,gr,xr,wr,Sr,vr),!0}for(Cr=1,br=new Array(yr-1);Cr<yr;Cr++)br[Cr-1]=arguments[Cr];Mr.fn.apply(Mr.context,br)}else{var Fr=Mr.length,Lr;for(Cr=0;Cr<Fr;Cr++)switch(Mr[Cr].once&&this.removeListener(fr,Mr[Cr].fn,void 0,!0),yr){case 1:Mr[Cr].fn.call(Mr[Cr].context);break;case 2:Mr[Cr].fn.call(Mr[Cr].context,gr);break;case 3:Mr[Cr].fn.call(Mr[Cr].context,gr,xr);break;case 4:Mr[Cr].fn.call(Mr[Cr].context,gr,xr,wr);break;default:if(!br)for(Lr=1,br=new Array(yr-1);Lr<yr;Lr++)br[Lr-1]=arguments[Lr];Mr[Cr].fn.apply(Mr[Cr].context,br)}}return!0},_r.prototype.on=function(fr,gr,xr){return dr(this,fr,gr,xr,!1)},_r.prototype.once=function(fr,gr,xr){return dr(this,fr,gr,xr,!0)},_r.prototype.removeListener=function(fr,gr,xr,wr){var Sr=rr?rr+fr:fr;if(!this._events[Sr])return this;if(!gr)return mr(this,Sr),this;var vr=this._events[Sr];if(vr.fn)vr.fn===gr&&(!wr||vr.once)&&(!xr||vr.context===xr)&&mr(this,Sr);else{for(var Ir=0,Mr=[],yr=vr.length;Ir<yr;Ir++)(vr[Ir].fn!==gr||wr&&!vr[Ir].once||xr&&vr[Ir].context!==xr)&&Mr.push(vr[Ir]);Mr.length?this._events[Sr]=Mr.length===1?Mr[0]:Mr:mr(this,Sr)}return this},_r.prototype.removeAllListeners=function(fr){var gr;return fr?(gr=rr?rr+fr:fr,this._events[gr]&&mr(this,gr)):(this._events=new ir,this._eventsCount=0),this},_r.prototype.off=_r.prototype.removeListener,_r.prototype.addListener=_r.prototype.on,_r.prefixed=rr,_r.EventEmitter=_r,typeof B<"u"&&(B.exports=_r)}}),REASON_NO_OP="No-op",NoopFeatureProvider=class{constructor(){this.metadata={name:"No-op Provider"}}resolveBooleanEvaluation(I,B){return this.noOp(B)}resolveStringEvaluation(I,B){return this.noOp(B)}resolveNumberEvaluation(I,B){return this.noOp(B)}resolveObjectEvaluation(I,B){return this.noOp(B)}noOp(I){return{value:I,reason:REASON_NO_OP}}},NOOP_PROVIDER=new NoopFeatureProvider,import_index=__toESM(require_eventemitter3()),OpenFeatureEventEmitter=class extends GenericEventEmitter{constructor(){super(),this.eventEmitter=new import_index.default}},OpenFeatureClient=class{constructor(I,B,tr,rr,ir,lr,dr){this.providerAccessor=I,this.providerStatusAccessor=B,this.emitterAccessor=tr,this.apiContextAccessor=rr,this.apiHooksAccessor=ir,this.globalLogger=lr,this.options=dr,this._hooks=[]}get metadata(){var I,B;return{name:(I=this.options.domain)!=null?I:this.options.name,domain:(B=this.options.domain)!=null?B:this.options.name,version:this.options.version,providerMetadata:this.providerAccessor().metadata}}get providerStatus(){return this.providerStatusAccessor()}addHandler(I,B,tr){var rr;if(this.emitterAccessor().addHandler(I,B),statusMatchesEvent(I,this.providerStatus))try{B({clientName:this.metadata.name,domain:this.metadata.domain,providerName:this._provider.metadata.name})}catch(lr){(rr=this._logger)==null||rr.error("Error running event handler:",lr)}tr?.signal&&typeof tr.signal.addEventListener=="function"&&tr.signal.addEventListener("abort",()=>{this.removeHandler(I,B)})}removeHandler(I,B){this.emitterAccessor().removeHandler(I,B)}getHandlers(I){return this.emitterAccessor().getHandlers(I)}setLogger(I){return this._clientLogger=new SafeLogger(I),this}addHooks(...I){return this._hooks=[...this._hooks,...I],this}getHooks(){return this._hooks}clearHooks(){return this._hooks=[],this}getBooleanValue(I,B,tr){return this.getBooleanDetails(I,B,tr).value}getBooleanDetails(I,B,tr){return this.evaluate(I,this._provider.resolveBooleanEvaluation,B,"boolean",tr)}getStringValue(I,B,tr){return this.getStringDetails(I,B,tr).value}getStringDetails(I,B,tr){return this.evaluate(I,this._provider.resolveStringEvaluation,B,"string",tr)}getNumberValue(I,B,tr){return this.getNumberDetails(I,B,tr).value}getNumberDetails(I,B,tr){return this.evaluate(I,this._provider.resolveNumberEvaluation,B,"number",tr)}getObjectValue(I,B,tr){return this.getObjectDetails(I,B,tr).value}getObjectDetails(I,B,tr){return this.evaluate(I,this._provider.resolveObjectEvaluation,B,"object",tr)}track(I,B={}){var tr,rr,ir;try{if(this.shortCircuitIfNotReady(),typeof this._provider.track=="function"){const lr=Object.freeze(__spreadValues({},this.apiContextAccessor((tr=this==null?void 0:this.options)==null?void 0:tr.domain)));return(ir=(rr=this._provider).track)==null?void 0:ir.call(rr,I,lr,B)}else this._logger.debug("Provider does not support the track function; will no-op.")}catch(lr){this._logger.debug("Error recording tracking event.",lr)}}evaluate(I,B,tr,rr,ir={}){var lr,dr;const mr=[...this.apiHooksAccessor(),...this.getHooks(),...ir.hooks||[],...this._provider.hooks||[]],_r=[...mr].reverse(),hr=__spreadValues({},this.apiContextAccessor((lr=this==null?void 0:this.options)==null?void 0:lr.domain)),fr=_r.map(()=>Object.freeze({flagKey:I,defaultValue:tr,flagValueType:rr,clientMetadata:this.metadata,providerMetadata:this._provider.metadata,context:hr,logger:this._logger,hookData:new MapHookData}));let gr;try{this.beforeHooks(mr,fr,ir),this.shortCircuitIfNotReady();const xr=B.call(this._provider,I,tr,hr,this._logger),wr=__spreadProps(__spreadValues({},xr),{flagMetadata:Object.freeze((dr=xr.flagMetadata)!=null?dr:{}),flagKey:I});if(wr.errorCode){const Sr=instantiateErrorByErrorCode(wr.errorCode,wr.errorMessage);this.errorHooks(_r,fr,Sr,ir),gr=this.getErrorEvaluationDetails(I,tr,Sr,wr.flagMetadata)}else this.afterHooks(_r,fr,wr,ir),gr=wr}catch(xr){this.errorHooks(_r,fr,xr,ir),gr=this.getErrorEvaluationDetails(I,tr,xr)}return this.finallyHooks(_r,fr,gr,ir),gr}beforeHooks(I,B,tr){var rr;for(const[ir,lr]of I.entries()){const dr=I.length-1-ir,mr=B[dr];Object.freeze(mr),Object.freeze(mr.context),(rr=lr?.before)==null||rr.call(lr,mr,Object.freeze(tr.hookHints))}}afterHooks(I,B,tr,rr){var ir;for(const[lr,dr]of I.entries()){const mr=B[lr];(ir=dr?.after)==null||ir.call(dr,mr,tr,rr.hookHints)}}errorHooks(I,B,tr,rr){var ir;for(const[lr,dr]of I.entries())try{const mr=B[lr];(ir=dr?.error)==null||ir.call(dr,mr,tr,rr.hookHints)}catch(mr){this._logger.error(`Unhandled error during 'error' hook: ${mr}`),mr instanceof Error&&this._logger.error(mr.stack),this._logger.error(mr?.stack)}}finallyHooks(I,B,tr,rr){var ir;for(const[lr,dr]of I.entries())try{const mr=B[lr];(ir=dr?.finally)==null||ir.call(dr,mr,tr,rr.hookHints)}catch(mr){this._logger.error(`Unhandled error during 'finally' hook: ${mr}`),mr instanceof Error&&this._logger.error(mr.stack),this._logger.error(mr?.stack)}}get _provider(){return this.providerAccessor()}get _logger(){return this._clientLogger||this.globalLogger()}shortCircuitIfNotReady(){if(this.providerStatus===ClientProviderStatus.NOT_READY)throw new ProviderNotReadyError("provider has not yet initialized");if(this.providerStatus===ClientProviderStatus.FATAL)throw new ProviderFatalError("provider is in an irrecoverable error state")}getErrorEvaluationDetails(I,B,tr,rr={}){const ir=tr?.message;return{errorCode:tr?.code||ErrorCode.GENERAL,errorMessage:ir,value:B,reason:StandardResolutionReasons.ERROR,flagMetadata:Object.freeze(rr),flagKey:I}}},GLOBAL_OPENFEATURE_API_KEY=Symbol.for("@openfeature/web-sdk/api"),_globalThis=globalThis,OpenFeatureAPI=class ns extends OpenFeatureCommonAPI{constructor(){super("client"),this._statusEnumType=ClientProviderStatus,this._apiEmitter=new OpenFeatureEventEmitter,this._defaultProvider=new ProviderWrapper(NOOP_PROVIDER,ClientProviderStatus.NOT_READY,this._statusEnumType),this._domainScopedProviders=new Map,this._createEventEmitter=()=>new OpenFeatureEventEmitter}static getInstance(){const B=_globalThis[GLOBAL_OPENFEATURE_API_KEY];if(B)return B;const tr=new ns;return _globalThis[GLOBAL_OPENFEATURE_API_KEY]=tr,tr}getProviderStatus(B){var tr,rr;return B?(rr=(tr=this._domainScopedProviders.get(B))==null?void 0:tr.status)!=null?rr:this._defaultProvider.status:this._defaultProvider.status}setProviderAndWait(B,tr,rr){return __async(this,null,function*(){const ir=stringOrUndefined(B),lr=objectOrUndefined(ir?tr:B),dr=objectOrUndefined(ir?rr:tr);dr&&(ir?this._domainScopedContext.set(ir,dr):this._context=dr),yield this.setAwaitableProvider(ir,lr)})}setProvider(B,tr,rr){const ir=stringOrUndefined(B),lr=objectOrUndefined(ir?tr:B),dr=objectOrUndefined(ir?rr:tr);dr&&(ir?this._domainScopedContext.set(ir,dr):this._context=dr);const mr=this.setAwaitableProvider(ir,lr);return Promise.resolve(mr).catch(_r=>{this._logger.error("Error during provider initialization:",_r)}),this}getProvider(B){return this.getProviderForClient(B)}setContext(B,tr){return __async(this,null,function*(){var rr,ir;const lr=stringOrUndefined(B),dr=(ir=(rr=objectOrUndefined(B))!=null?rr:objectOrUndefined(tr))!=null?ir:{};if(lr){const mr=this._domainScopedProviders.get(lr);if(mr){const _r=this.getContext(lr);this._domainScopedContext.set(lr,dr),yield this.runProviderContextChangeHandler(lr,mr,_r,dr)}else this._domainScopedContext.set(lr,dr)}else{const mr=this._context;this._context=dr;const _r=Array.from(this._domainScopedProviders.entries()).filter(([fr])=>!this._domainScopedContext.has(fr)).reduce((fr,[gr,xr])=>(fr.push({domain:gr,wrapper:xr}),fr),[]),hr=[{domain:void 0,wrapper:this._defaultProvider},..._r];yield Promise.all(hr.map(fr=>this.runProviderContextChangeHandler(fr.domain,fr.wrapper,mr,dr)))}})}getContext(B){const tr=stringOrUndefined(B);if(tr){const rr=this._domainScopedContext.get(tr);if(rr)return rr;this._logger.debug(`Unable to find context for '${tr}'.`)}return this._context}clearContext(B){return __async(this,null,function*(){const tr=stringOrUndefined(B);if(tr){const rr=this._domainScopedProviders.get(tr);if(rr){const ir=this.getContext(tr);this._domainScopedContext.delete(tr);const lr=this.getContext();yield this.runProviderContextChangeHandler(tr,rr,ir,lr)}else this._domainScopedContext.delete(tr)}else return this.setContext({})})}clearContexts(){return __async(this,null,function*(){yield this.clearContext(),yield Promise.allSettled(Array.from(this._domainScopedProviders.keys()).map(B=>this.clearContext(B)))})}getClient(B,tr){return new OpenFeatureClient(()=>this.getProviderForClient(B),()=>this.getProviderStatus(B),()=>this.buildAndCacheEventEmitterForClient(B),rr=>this.getContext(rr),()=>this.getHooks(),()=>this._logger,{domain:B,version:tr})}clearProviders(){return __async(this,null,function*(){yield __superGet(ns.prototype,this,"clearProvidersAndSetDefault").call(this,NOOP_PROVIDER),this._domainScopedContext.clear()})}runProviderContextChangeHandler(B,tr,rr,ir){return __async(this,null,function*(){var lr,dr,mr,_r,hr,fr;const gr=((dr=(lr=tr.provider)==null?void 0:lr.metadata)==null?void 0:dr.name)||"unnamed-provider";try{if(typeof tr.provider.onContextChange=="function"){const xr=tr.provider.onContextChange(rr,ir);xr&&typeof xr?.then=="function"&&(tr.incrementPendingContextChanges(),tr.status=this._statusEnumType.RECONCILING,this.getAssociatedEventEmitters(B).forEach(wr=>{wr?.emit(ClientProviderEvents.Reconciling,{domain:B,providerName:gr})}),(mr=this._apiEmitter)==null||mr.emit(ClientProviderEvents.Reconciling,{domain:B,providerName:gr}),yield xr,tr.decrementPendingContextChanges())}tr.status=this._statusEnumType.READY,tr.allContextChangesSettled&&(this.getAssociatedEventEmitters(B).forEach(xr=>{xr?.emit(ClientProviderEvents.ContextChanged,{clientName:B,domain:B,providerName:gr})}),(_r=this._apiEmitter)==null||_r.emit(ClientProviderEvents.ContextChanged,{clientName:B,domain:B,providerName:gr}))}catch(xr){if(tr.decrementPendingContextChanges(),tr.status=this._statusEnumType.ERROR,tr.allContextChangesSettled){const wr=xr,Sr=`Error running ${gr}'s context change handler: ${wr?.message}`;(hr=this._logger)==null||hr.error(`${Sr}`,xr),this.getAssociatedEventEmitters(B).forEach(vr=>{vr?.emit(ClientProviderEvents.Error,{clientName:B,domain:B,providerName:gr,message:Sr})}),(fr=this._apiEmitter)==null||fr.emit(ClientProviderEvents.Error,{clientName:B,domain:B,providerName:gr,message:Sr})}}})}},OpenFeature=OpenFeatureAPI.getInstance();class QueryParamProvider{runsOn="client";metadata={name:"QueryParamProvider"};flags;constructor(B){this.flags=new Map;for(const[tr,rr]of B.entries())this.flags.set(tr,rr)}resolveBooleanEvaluation(B,tr){const rr=this.flags.get(B);return rr===void 0?{value:tr,reason:"DEFAULT"}:{value:rr.toLowerCase()==="true"||rr==="1",reason:"STATIC",variant:rr}}resolveStringEvaluation(B,tr){const rr=this.flags.get(B);return rr===void 0?{value:tr,reason:"DEFAULT"}:{value:rr,reason:"STATIC",variant:rr}}resolveNumberEvaluation(B,tr){const rr=this.flags.get(B);if(rr===void 0)return{value:tr,reason:"DEFAULT"};const ir=Number(rr);return isNaN(ir)?{value:tr,reason:"ERROR",errorCode:"PARSE_ERROR",errorMessage:`Failed to parse "${rr}" as a number`}:{value:ir,reason:"STATIC",variant:rr}}resolveObjectEvaluation(B,tr){const rr=this.flags.get(B);if(rr===void 0)return{value:tr,reason:"DEFAULT"};try{return{value:JSON.parse(rr),reason:"STATIC",variant:rr}}catch(ir){return{value:tr,reason:"ERROR",errorCode:"PARSE_ERROR",errorMessage:`Failed to parse JSON: ${ir instanceof Error?ir.message:String(ir)}`}}}}async function initFeatureFlags(I){const B=typeof window<"u"?new URLSearchParams(window.location.search):new URLSearchParams,tr=new QueryParamProvider(B);await OpenFeature.setProviderAndWait(tr)}async function isDualActionCreateEnabled(){const I=OpenFeature.getClient();return Promise.resolve(I.getBooleanValue("FEATURE_DUAL_ACTION_CREATE_ENABLED",!1))}let reactorStorage;function setReactorStorage(I){reactorStorage=I}async function clearReactorStorage(){return await reactorStorage?.clear(),!!reactorStorage}async function updateVetraPackages(I){const B=await loadCommonPackage(),tr=[B,...I];return setVetraPackages([B,...I]),tr}async function loadDriveFromRemoteUrl(I,B,tr){const rr=tr.find(ir=>ir.state.local.triggers.find(lr=>lr.type==="PullResponder"&&lr.data?.url===I));if(rr)return rr;try{return await B.addRemoteDrive(I,{sharingType:"PUBLIC",availableOffline:!0,listeners:[{block:!0,callInfo:{data:I,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:generateId(),system:!0}],triggers:[]})}catch(ir){logger$2.error("Error adding remote drive",ir)}}async function createReactor(){if(window.ph||(window.ph={}),window.ph.legacyReactor||window.ph.loading)return;window.ph.loading=!0,addPHEventHandlers(),await initFeatureFlags();const I=await initConnectCrypto(),B=await I.did(),tr=initRenown(B,phGlobalConfigFromEnv.routerBasename),rr=createBrowserStorage(phGlobalConfigFromEnv.routerBasename);setReactorStorage(rr);const ir=await loadExternalPackages(),lr=await updateVetraPackages(ir),dr=lr.flatMap(Cr=>Cr.modules.documentModelModules).filter(Cr=>Cr!==void 0),mr=await isDualActionCreateEnabled(),_r=getReactorDefaultDrivesConfig$1(),hr=createBrowserDocumentDriveServer(dr,rr,{..._r,featureFlags:{enableDualActionCreate:mr}}),fr=await createBrowserReactor(dr,rr,I);await initLegacyReactor(hr,tr,I);const gr=initDocumentCache(hr),xr=new ProcessorManager(hr.listeners,hr);let wr=await getDrives(hr);const Sr=getDriveUrl(),vr=Sr?await loadDriveFromRemoteUrl(Sr,hr,wr):void 0;vr&&(wr=await getDrives(hr));const Ir=window.location.pathname,Mr=vr?.header.slug??extractDriveSlugFromPath(Ir),yr=vr?"":extractNodeSlugFromPath(Ir),br=getDidFromUrl();await login(br,hr,tr,I),setDefaultPHGlobalConfig(phGlobalConfigFromEnv),setLegacyReactor(hr),setReactorClient(fr.client),setSync(fr.reactorModule?.syncModule?.syncManager),setDocumentCache(gr),setConnectCrypto(I),setDid(B),setRenown(tr),setProcessorManager(xr),setDrives(wr),setVetraPackages(lr),setSelectedDrive(Mr),setSelectedNode(yr),hr.on("defaultRemoteDrive",(...Cr)=>{logger$2.verbose("defaultRemoteDrive",...Cr),refreshReactorData(hr).catch(logger$2.error)}),hr.on("clientStrandsError",(...Cr)=>{logger$2.verbose("clientStrandsError",...Cr),refreshReactorData(hr).catch(logger$2.error)}),hr.on("driveAdded",(...Cr)=>{logger$2.verbose("driveAdded",...Cr),xr.registerDrive(Cr[0].header.id).catch(logger$2.error),refreshReactorData(hr).catch(logger$2.error)}),hr.on("driveDeleted",(...Cr)=>{logger$2.verbose("driveDeleted",...Cr),refreshReactorData(hr).catch(logger$2.error)}),hr.on("documentModelModules",(...Cr)=>{logger$2.verbose("documentModelModules",...Cr),refreshReactorData(hr).catch(logger$2.error)}),hr.on("driveOperationsAdded",(...Cr)=>{logger$2.verbose("driveOperationsAdded",...Cr),refreshReactorData(hr).catch(logger$2.error)}),window.ph.loading=!1}function getDidFromUrl(){const B=new URLSearchParams(window.location.search).get("user");return B?decodeURIComponent(B):void 0}function getDriveUrl(){const B=new URLSearchParams(window.location.search).get("driveUrl");return B?decodeURIComponent(B):void 0}function useSetSentryUser(){const I=useUser();reactExports.useEffect(()=>{let B=null;if(I){const{credential:tr,...rr}=I;B={id:rr.did,username:rr.ens?.name,...rr}}setUser(B)},[I])}function Root(){return jsxRuntimeExports.jsx("div",{className:"h-screen",children:jsxRuntimeExports.jsx("div",{className:"flex h-screen items-stretch overflow-auto",role:"presentation",tabIndex:0,children:jsxRuntimeExports.jsxs(reactExports.Suspense,{name:"Root",children:[jsxRuntimeExports.jsx(Sidebar,{}),jsxRuntimeExports.jsx("div",{className:"relative flex-1 overflow-auto",children:jsxRuntimeExports.jsx(Outlet,{})})]})})})}function Content(){const[I]=useSelectedDriveSafe(),B=useSelectedFolder(),[tr]=useSelectedDocument();reactExports.useEffect(()=>{tr||setPHDocumentEditorConfig(defaultPHDocumentEditorConfig)},[tr]),reactExports.useEffect(()=>{I||setPHDriveEditorConfig(defaultPHDriveEditorConfig)},[I]);const rr=!tr&&!I&&!B;return jsxRuntimeExports.jsx(ContentContainer,{children:rr?jsxRuntimeExports.jsx(HomeScreenContainer,{}):jsxRuntimeExports.jsx(DriveEditorContainer,{})})}function ContentContainer({children:I}){return jsxRuntimeExports.jsx("div",{className:"flex h-full flex-col overflow-auto",id:"content-view",children:I})}function DriveItem({drive:I}){const tr=useDriveEditorModuleById(I.header.meta?.preferredEditor)?.name||"Drive Explorer App";return jsxRuntimeExports.jsx(HomeScreenItem,{title:I.state.global.name,description:tr,icon:jsxRuntimeExports.jsx(DriveIcon,{drive:I}),onClick:()=>setSelectedDrive(I)},I.header.id)}function HomeScreenContainer(){const I=useDrives(),B=connectConfig;return jsxRuntimeExports.jsxs(HomeScreen,{children:[I?.map(tr=>jsxRuntimeExports.jsx(DriveItem,{drive:tr},tr.header.id)),B.drives.addDriveEnabled&&jsxRuntimeExports.jsx(HomeScreenAddDriveItem,{})]})}const SvgAtlasLogomark=I=>reactExports.createElement("svg",{width:28,height:32,viewBox:"0 0 28 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...I},reactExports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.05092 23.7286L0.000163347 23.9993L0 23.9995L0.207853 24.067L27.6823 24.067L27.9995 23.9995L27.9161 23.6913L14.2182 0.209032L13.9998 0L13.749 0.246353L0.05092 23.7286ZM20.9994 11.9999L7.0003 11.9999L13.9998 23.999L20.9994 11.9999Z",fill:"url(#paint0_radial_319_20865)"}),reactExports.createElement("path",{d:"M14 0L0 23.9998V7.99993L14 0Z",fill:"url(#paint1_linear_319_20865)"}),reactExports.createElement("path",{d:"M28 24L7.82013e-05 24L14 31.9999L28 24Z",fill:"url(#paint2_linear_319_20865)"}),reactExports.createElement("path",{d:"M14 0L28 23.9998V7.99993L14 0Z",fill:"url(#paint3_linear_319_20865)"}),reactExports.createElement("defs",null,reactExports.createElement("radialGradient",{id:"paint0_radial_319_20865",cx:0,cy:0,r:1,gradientUnits:"userSpaceOnUse",gradientTransform:"translate(13.9994 16.0344) rotate(-89.9988) scale(16.0344 16.201)"},reactExports.createElement("stop",{offset:.181008,stopColor:"#FFCD6B"}),reactExports.createElement("stop",{offset:1,stopColor:"#EB5EDF"})),reactExports.createElement("linearGradient",{id:"paint1_linear_319_20865",x1:-.031454,y1:24.041,x2:13.801,y2:-.142908,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#4331E9"}),reactExports.createElement("stop",{offset:1,stopColor:"#A273FF"})),reactExports.createElement("linearGradient",{id:"paint2_linear_319_20865",x1:-.0310093,y1:24,x2:28.0444,y2:24,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#A273FF"}),reactExports.createElement("stop",{offset:1,stopColor:"#4331E9"})),reactExports.createElement("linearGradient",{id:"paint3_linear_319_20865",x1:28.0315,y1:24.041,x2:14.199,y2:-.142908,gradientUnits:"userSpaceOnUse"},reactExports.createElement("stop",{stopColor:"#A273FF"}),reactExports.createElement("stop",{offset:1,stopColor:"#4331E9"})))),SvgRefresh=I=>reactExports.createElement("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...I},reactExports.createElement("path",{d:"M15.6867 8.03333C15.4933 7.83999 15.1733 7.83999 14.98 8.03333L14.6733 8.34001V8C14.6733 4.32 11.68 1.32666 7.99999 1.32666C5.96666 1.32666 4.06666 2.23999 2.79333 3.82666C2.61999 4.03999 2.65332 4.35999 2.87332 4.52665C3.08666 4.69999 3.40666 4.66666 3.57332 4.44666C4.65999 3.09332 6.27332 2.31999 7.99999 2.31999C11.1267 2.31999 13.6733 4.86666 13.6733 7.99333V8.32666L13.3667 8.02002C13.1733 7.82669 12.8533 7.82669 12.66 8.02002C12.4667 8.21335 12.4667 8.53335 12.66 8.72668L13.82 9.88668C13.8667 9.93334 13.92 9.96666 13.98 9.99333C14.04 10.02 14.1067 10.0333 14.1733 10.0333C14.24 10.0333 14.3 10.02 14.3667 9.99333C14.4267 9.96666 14.48 9.93334 14.5267 9.88668L15.6867 8.72668C15.88 8.54668 15.88 8.22666 15.6867 8.03333Z",fill:"#6C7275"}),reactExports.createElement("path",{d:"M13.1267 11.4666C12.9133 11.2933 12.5933 11.3266 12.4267 11.5466C11.34 12.9 9.72665 13.6733 7.99998 13.6733C4.87332 13.6733 2.32665 11.1266 2.32665 7.99996V7.66663L2.63332 7.97331C2.73332 8.07331 2.85999 8.11996 2.98665 8.11996C3.11332 8.11996 3.23999 8.07331 3.33999 7.97331C3.53332 7.77998 3.53332 7.45998 3.33999 7.26664L2.17998 6.10661C2.13332 6.05994 2.07998 6.02663 2.01998 5.99996C1.89998 5.94663 1.75998 5.94663 1.63998 5.99996C1.57998 6.02663 1.52665 6.05994 1.47999 6.10661L0.319988 7.26664C0.126654 7.45998 0.126654 7.77998 0.319988 7.97331C0.513321 8.16664 0.833319 8.16664 1.02665 7.97331L1.33332 7.66663V7.99996C1.33332 11.68 4.32665 14.6733 8.00665 14.6733C10.04 14.6733 11.94 13.76 13.2133 12.1733C13.38 11.96 13.3467 11.64 13.1267 11.4666Z",fill:"#6C7275"})),REACTOR_URL="https://apps.powerhouse.io/sky-atlas/staging/switchboard",MIN_LOADING_TIME=2e3;function useReactorUrl(){const{search:I}=useLocation();return reactExports.useMemo(()=>{const tr=new URLSearchParams(I).get("reactorUrl")??REACTOR_URL;return tr.endsWith("/")?tr:`${tr}/`},[I])}async function forkAtlas(I,B){const tr=gql`
|
|
75
|
-
mutation ForkAtlas($docId: PHID) {
|
|
76
|
-
ForkAtlas(docId: $docId)
|
|
77
|
-
}
|
|
78
|
-
`;return await request(`${B}graphql`,tr,{docId:I})}function AtlasImport(){const I=reactExports.useRef("initial"),B=useLegacyReactor(),{documentId:tr}=useParams(),rr=useReactorUrl(),ir=useNavigate(),[lr,dr]=reactExports.useState(void 0),[mr,_r]=reactExports.useState(void 0),[hr,fr]=reactExports.useState(!0),gr=I.current==="error";reactExports.useEffect(()=>{mr&&(console.error("Error forking Atlas:",mr),toast("Error forking Atlas",{type:"error"}))},[mr]);async function xr(vr){const Mr=(await forkAtlas(vr,rr)).ForkAtlas;I.current="forked",dr(Mr)}const wr=reactExports.useCallback(()=>{lr&&!hr&&ir(`/d/${lr}`,{replace:!0})},[lr,ir,hr]),Sr=reactExports.useCallback(async vr=>{console.log("Adding remote drive:",vr);const Ir=`${rr}d/${vr}`;try{const Mr=await addRemoteDrive(Ir,{sharingType:"PUBLIC",availableOffline:!0,listeners:[{block:!0,callInfo:{data:Ir,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});I.current="done",console.log("Added remote drive:",Mr),setTimeout(()=>{fr(!1)},MIN_LOADING_TIME)}catch(Mr){I.current="error",fr(!1),_r(Mr)}},[addRemoteDrive,ir,rr]);return reactExports.useEffect(()=>{!tr||I.current!=="initial"||(I.current="forking",xr(tr).catch(vr=>{I.current="error",_r(vr)}))},[tr,I]),reactExports.useEffect(()=>{!lr||!B||I.current!=="forked"||(I.current="addingDrive",new Promise(vr=>{setTimeout(vr,500)}).then(()=>Sr(lr)).catch(vr=>{I.current="error",_r(vr)}))},[lr,B,I]),jsxRuntimeExports.jsx("div",{className:"flex size-full justify-center gap-x-4 bg-gray-50",children:jsxRuntimeExports.jsxs("div",{className:"w-full max-w-[850px] rounded-2xl bg-white p-6 drop-shadow-sm",children:[jsxRuntimeExports.jsx("h1",{className:"text-lg font-medium text-gray-900",children:"Welcome to the Atlas Explorer"}),jsxRuntimeExports.jsx("div",{className:"mt-4 rounded-xl border border-gray-200 bg-gray-50 p-6",children:jsxRuntimeExports.jsxs("div",{className:"flex min-h-80 flex-col items-center justify-center rounded-2xl bg-slate-50",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(SvgAtlasLogomark,{})}),gr?jsxRuntimeExports.jsx("div",{className:"mt-3 text-sm text-gray-800",children:"Error forking Atlas scope. Please try again."}):jsxRuntimeExports.jsx("div",{className:"mt-3 text-sm text-gray-500",children:"Forking Atlas scope..."}),jsxRuntimeExports.jsx(PowerhouseButton,{onClick:gr?window.location.reload.bind(window.location):wr,size:"small",color:"light",className:"mt-4 h-9 border border-gray-200 bg-white px-3 text-gray-600",children:gr?"Retry":hr?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(SvgRefresh,{className:"animate-spin"}),"Loading"]}):"Continue"})]})})]})})}function createRouter(I){const B=connectConfig.routerBasename;return createBrowserRouter(I,{basename:B,future:{v7_fetcherPersist:!0,v7_relativeSplatPath:!0}})}function createRoutes(){const I=[{index:!0,path:"d?/:driveId?/*?",element:jsxRuntimeExports.jsx(reactExports.Suspense,{name:"Drive",children:jsxRuntimeExports.jsx(Content,{})})},{path:"import/:documentId",element:jsxRuntimeExports.jsx(reactExports.Suspense,{name:"AtlasImport",children:jsxRuntimeExports.jsx(AtlasImport,{})})}];return[{element:jsxRuntimeExports.jsx(reactExports.Suspense,{name:"RouteRoot",children:jsxRuntimeExports.jsx(Root,{})}),children:I}]}const routes=createRoutes(),router=createRouter(routes),Router=()=>jsxRuntimeExports.jsx(RouterProvider,{router});function Sidebar(){const I=useUser(),B=useDrives(),[tr]=useSelectedDriveSafe(),rr=localStorage.getItem("CONNECT_DEBUG")==="true",ir=()=>{showPHModal({type:"settings"})},lr=()=>{showPHModal({type:"addDrive"})},dr=jsxRuntimeExports.jsxs("div",{className:"flex h-full items-center",children:[jsxRuntimeExports.jsx(Icon,{name:"Connect",className:"!h-[30px] !w-[100px] cursor-pointer",onClick:()=>setSelectedDrive(void 0)}),rr&&jsxRuntimeExports.jsx("button",{"aria-label":"Home",id:"connect-debug-button",className:"ml-6",onClick:()=>showPHModal({type:"debugSettings"}),children:jsxRuntimeExports.jsx("img",{src:"settings.png",className:"h-5 text-gray-600"})})]}),mr=I?.address?`https://etherscan.io/address/${I.address}`:"";return jsxRuntimeExports.jsx(ConnectSidebar,{id:"sidebar",onClick:()=>setSelectedDrive(void 0),onClickSettings:ir,headerContent:dr,address:I?.address,onLogin:openRenown,onDisconnect:logout,etherscanUrl:mr,children:jsxRuntimeExports.jsxs(ErrorBoundary,{fallback:jsxRuntimeExports.jsx("div",{className:"text-center",children:"There was an error loading drives"}),onError:logger$2.error,children:[B?.map((_r,hr)=>jsxRuntimeExports.jsx(SidebarItem,{title:_r.header.name,onClick:()=>setSelectedDrive(_r),active:tr?.header.id===_r.header.id,icon:jsxRuntimeExports.jsx(DriveIcon,{drive:_r})},hr)),connectConfig.drives.addDriveEnabled&&jsxRuntimeExports.jsx(SidebarAddDriveItem,{onClick:lr})]})})}const Load=reactExports.lazy(async()=>(await createReactor(),{default:({children:I})=>(useSubscribeToVetraPackages(),useSetSentryUser(),useCheckLatestVersion(),I)})),AppLoader=()=>jsxRuntimeExports.jsxs(reactExports.StrictMode,{children:[jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(AppSkeleton,{}),name:"AppLoader",children:jsxRuntimeExports.jsx(Load,{children:jsxRuntimeExports.jsx(App,{})})}),jsxRuntimeExports.jsx(reactExports.Suspense,{name:"CookieBanner",children:jsxRuntimeExports.jsx(CookieBanner,{})}),jsxRuntimeExports.jsx(ModalsContainer,{})]});clientExports.createRoot(document.getElementById("root")).render(jsxRuntimeExports.jsx(AppLoader,{}));export{C,R$2 as R,Trans as T,U$1 as U,t$1 as a,connectConfig as b,clearReactorStorage as c,addExternalPackage as d,ur as e,u$1 as f,cr as g,T as h,h$1 as i,editor as j,pr as p,removeExternalPackage as r,serviceWorkerManager as s,toast as t,useTranslation as u,x$2 as x};
|