diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..4d72b4f9ad573e38fbcf770b6950e3067424ad32 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,30 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md +!**/.gitignore +!.git/HEAD +!.git/config +!.git/packed-refs +!.git/refs/heads/** \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..a32d9b8fefd68d439265155050114f05bdfb0381 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +obj/Debug/net8.0/apphost.exe filter=lfs diff=lfs merge=lfs -text +obj/Release/net8.0/apphost.exe filter=lfs diff=lfs merge=lfs -text +wwwroot/index.data filter=lfs diff=lfs merge=lfs -text diff --git a/Controllers/WeatherForecastController.cs b/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000000000000000000000000000000000000..82ce2d5bae4df9b93d5cb1b6cb18f948f4bf6552 --- /dev/null +++ b/Controllers/WeatherForecastController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Mvc; + +namespace ai_server_docker.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..63217f71a791d1a3629aa3f67b027e237190600e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +# 請參閱 https://aka.ms/customizecontainer 了解如何自訂您的偵錯容器,以及 Visual Studio 如何使用此 Dockerfile 來組建您的映像,以加快偵錯速度。 + +# 此階段用於以快速模式從 VS 執行時 (偵錯設定的預設值) +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base + +USER app +WORKDIR /app +EXPOSE 7860 + + + + +# 此階段是用來組建服務專案 +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["ai_server_docker.csproj", "."] +RUN dotnet restore "./ai_server_docker.csproj" +COPY . . +WORKDIR "/src/." +RUN dotnet build "./ai_server_docker.csproj" -c $BUILD_CONFIGURATION -o /app/build + +# 此階段可用來發佈要複製到最終階段的服務專案 +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./ai_server_docker.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +# 此階段用於生產環境,或以一般模式從 VS 執行時 (未使用偵錯設定時的預設值) +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "ai_server_docker.dll"] \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..7a260c0e981d4e0c9e90bba8884bc1c082dfd861 --- /dev/null +++ b/Program.cs @@ -0,0 +1,78 @@ +using Microsoft.AspNetCore.StaticFiles; + +var builder = WebApplication.CreateBuilder(args); + +// K[ CORS +builder.Services.AddCors(options => +{ + options.AddPolicy("AllowAll", + builder => + { + builder.AllowAnyOrigin() + .AllowAnyMethod() + .AllowAnyHeader(); + }); +}); + +// K[ HttpClient ut +builder.Services.AddHttpClient(); + +// W[ HttpClient utAðtmRW HttpClient +builder.Services.AddHttpClient("VideoProcessingClient") + .SetHandlerLifetime(TimeSpan.FromMinutes(5)) // iG]mBz{ǪͩRg + .ConfigurePrimaryHttpMessageHandler(() => + { + // iGtm۩wq HttpMessageHandlerAҦp ProxyBSSL + return new HttpClientHandler(); + }) + .ConfigureHttpClient(client => + { + client.Timeout = TimeSpan.FromMinutes(10); // ]mWɬ 10 + }); + +// Add services to the container. +builder.Services.AddControllers(); + +// ]w̤jШDjp]ҦpA1 GB^ +builder.WebHost.ConfigureKestrel(options => +{ + options.Limits.MaxRequestBodySize = 1073741824; // 1 GB + options.ListenAnyIP(7860); // uOd HTTP Yi + //options.ListenAnyIP(7860, listenOptions => + //{ + // listenOptions.UseHttps(); // ť HTTPS 8081 ݤf + //}); +}); + +var app = builder.Build(); + +// ϥ CORS +app.UseCors("AllowAll"); + +// ]w `.onnx` MIME +var provider = new FileExtensionContentTypeProvider(); +//provider.Mappings[".onnx"] = "application/octet-stream"; +provider.Mappings[".wasm"] = "application/wasm"; // WebAssembly K[ MIME +provider.Mappings[".data"] = "application/data"; // WebAssembly K[ MIME + +// ϥ DefaultFiles M index.html +app.UseDefaultFiles(); + +// RAAèϥΦۭq MIME Ѫ̻PY +app.UseStaticFiles(new StaticFileOptions +{ + ContentTypeProvider = provider, + OnPrepareResponse = ctx => + { + Console.WriteLine($"Serving file: {ctx.File.PhysicalPath}"); + // [J COOP P COEP Y + ctx.Context.Response.Headers["Cross-Origin-Opener-Policy"] = "same-origin"; + ctx.Context.Response.Headers["Cross-Origin-Embedder-Policy"] = "require-corp"; + } +}); + +// Configure the HTTP request pipeline. +app.UseHttpsRedirection(); +app.UseAuthorization(); +app.MapControllers(); +app.Run(); diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json new file mode 100644 index 0000000000000000000000000000000000000000..0cc43f07509692c8cc8a1872e30abc3b8c8edec4 --- /dev/null +++ b/Properties/launchSettings.json @@ -0,0 +1,52 @@ +{ + "profiles": { + "http": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "http://localhost:5186" + }, + "https": { + "commandName": "Project", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:7043;http://localhost:5186" + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "weatherforecast", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Container (Dockerfile)": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", + "environmentVariables": { + //"ASPNETCORE_HTTPS_PORTS": "8080", + "ASPNETCORE_HTTP_PORTS": "7860" + }, + "publishAllPorts": true, + "useSSL": true + } + }, + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:39907", + "sslPort": 44365 + } + } +} \ No newline at end of file diff --git a/WeatherForecast.cs b/WeatherForecast.cs new file mode 100644 index 0000000000000000000000000000000000000000..ff3467ee6504226fa9fa8b4b18f256cf420aad39 --- /dev/null +++ b/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace ai_server_docker +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/ai_server_docker.csproj b/ai_server_docker.csproj new file mode 100644 index 0000000000000000000000000000000000000000..3af1efbf1d6f08f1985fc54499962f6286c4cec9 --- /dev/null +++ b/ai_server_docker.csproj @@ -0,0 +1,22 @@ + + + + net8.0 + enable + enable + fc82dcaf-3161-4441-9e5d-92fdf63b2d3d + Linux + . + + + + + + + + + Always + + + + diff --git a/ai_server_docker.csproj.user b/ai_server_docker.csproj.user new file mode 100644 index 0000000000000000000000000000000000000000..ca727724a883205e44da9da4ca18de44cba6a207 --- /dev/null +++ b/ai_server_docker.csproj.user @@ -0,0 +1,12 @@ + + + + Container (Dockerfile) + + + ProjectDebugger + + + ProjectDebugger + + \ No newline at end of file diff --git a/ai_server_docker.http b/ai_server_docker.http new file mode 100644 index 0000000000000000000000000000000000000000..6f5dfed2a94d394609a180f3a8c4dd5d22332cba --- /dev/null +++ b/ai_server_docker.http @@ -0,0 +1,6 @@ +@ai_server_docker_HostAddress = http://localhost:5186 + +GET {{ai_server_docker_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/appsettings.Development.json b/appsettings.Development.json new file mode 100644 index 0000000000000000000000000000000000000000..ff66ba6b28c77eca10218b00a4627f80d4a141c1 --- /dev/null +++ b/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/appsettings.json b/appsettings.json new file mode 100644 index 0000000000000000000000000000000000000000..4d566948de40474d00d09db546db63c26b74d30c --- /dev/null +++ b/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/obj/Container/AbsoluteOutputAssemblyPath.cache b/obj/Container/AbsoluteOutputAssemblyPath.cache new file mode 100644 index 0000000000000000000000000000000000000000..d35820eb7b341ff0868d8cb042a9d76d0cc254d9 --- /dev/null +++ b/obj/Container/AbsoluteOutputAssemblyPath.cache @@ -0,0 +1 @@ +ai_server_docker.dll \ No newline at end of file diff --git a/obj/Container/AdditionalProbingPaths.cache b/obj/Container/AdditionalProbingPaths.cache new file mode 100644 index 0000000000000000000000000000000000000000..927f4f6f56428760994b8b139dcd0a0070fbcc12 --- /dev/null +++ b/obj/Container/AdditionalProbingPaths.cache @@ -0,0 +1 @@ +--additionalProbingPath /.nuget/fallbackpackages \ No newline at end of file diff --git a/obj/Container/ContainerCreationResult.cache b/obj/Container/ContainerCreationResult.cache new file mode 100644 index 0000000000000000000000000000000000000000..2adf810c6eb235232e0de55eccd21671989c70a5 --- /dev/null +++ b/obj/Container/ContainerCreationResult.cache @@ -0,0 +1 @@ +Skipped \ No newline at end of file diff --git a/obj/Container/ContainerDevelopmentMode.cache b/obj/Container/ContainerDevelopmentMode.cache new file mode 100644 index 0000000000000000000000000000000000000000..ea9503c08c4f212870bdcff4060f7cb0983afcf9 --- /dev/null +++ b/obj/Container/ContainerDevelopmentMode.cache @@ -0,0 +1 @@ +Regular \ No newline at end of file diff --git a/obj/Container/ContainerId.cache b/obj/Container/ContainerId.cache new file mode 100644 index 0000000000000000000000000000000000000000..a1a768f3467c1c2d5117c8b5d3808ffbb825907a --- /dev/null +++ b/obj/Container/ContainerId.cache @@ -0,0 +1 @@ +0149c7d59cdeae51960395bae0362de5d944888b223a588bf00f66d66851b82b \ No newline at end of file diff --git a/obj/Container/ContainerName.cache b/obj/Container/ContainerName.cache new file mode 100644 index 0000000000000000000000000000000000000000..233e65ee42190e9fd2f5716afefd3ef4626ff758 --- /dev/null +++ b/obj/Container/ContainerName.cache @@ -0,0 +1 @@ +ai_server_docker \ No newline at end of file diff --git a/obj/Container/ContainerOperatingSystemFlavor.cache b/obj/Container/ContainerOperatingSystemFlavor.cache new file mode 100644 index 0000000000000000000000000000000000000000..c48699934f3a91d486f63d85e53651f52ab48e12 --- /dev/null +++ b/obj/Container/ContainerOperatingSystemFlavor.cache @@ -0,0 +1 @@ +Unknown \ No newline at end of file diff --git a/obj/Container/ContainerRunContext.cache b/obj/Container/ContainerRunContext.cache new file mode 100644 index 0000000000000000000000000000000000000000..82f8a87c7f2fa079708230f66cfee7317303e872 --- /dev/null +++ b/obj/Container/ContainerRunContext.cache @@ -0,0 +1 @@ +MpLw22LMYG9hOsG3Jvs9q6Vhq3B0xYpwTzWCkXZAL7U= \ No newline at end of file diff --git a/obj/Container/ContainerRuntimeID.cache b/obj/Container/ContainerRuntimeID.cache new file mode 100644 index 0000000000000000000000000000000000000000..2c5b7d70b5ca126adc69a8ea8e55782810cc6ec5 --- /dev/null +++ b/obj/Container/ContainerRuntimeID.cache @@ -0,0 +1 @@ +linux-x64 \ No newline at end of file diff --git a/obj/Container/DebuggeeArguments.cache b/obj/Container/DebuggeeArguments.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Container/DebuggeeKillProcessCommand.cache b/obj/Container/DebuggeeKillProcessCommand.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Container/DebuggeeProgram.cache b/obj/Container/DebuggeeProgram.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Container/DebuggeeWorkingDirectory.cache b/obj/Container/DebuggeeWorkingDirectory.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Container/DistrolessHelperSupported.cache b/obj/Container/DistrolessHelperSupported.cache new file mode 100644 index 0000000000000000000000000000000000000000..4791ed5559bd77f54e1520025768e2b368705876 --- /dev/null +++ b/obj/Container/DistrolessHelperSupported.cache @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/obj/Container/FastModeProjectMountDirectory.cache b/obj/Container/FastModeProjectMountDirectory.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Container/ImageBuildContext.cache b/obj/Container/ImageBuildContext.cache new file mode 100644 index 0000000000000000000000000000000000000000..b34abf9dabac104fcf7f14a3b37c859aa81ef5d6 --- /dev/null +++ b/obj/Container/ImageBuildContext.cache @@ -0,0 +1 @@ +2Cbt+ikcLQxT8PpUojiVMdLbvVBMPKPmAC8eg4xWYc8= \ No newline at end of file diff --git a/obj/Container/ImageId.cache b/obj/Container/ImageId.cache new file mode 100644 index 0000000000000000000000000000000000000000..c22ae1325294f659878a394e53114a11145f85bb --- /dev/null +++ b/obj/Container/ImageId.cache @@ -0,0 +1 @@ +sha256:f2064e067627b07b7efe239c02c02d6779277d22335688e17f57450dca824409 \ No newline at end of file diff --git a/obj/Container/LaunchedImageId.cache b/obj/Container/LaunchedImageId.cache new file mode 100644 index 0000000000000000000000000000000000000000..c22ae1325294f659878a394e53114a11145f85bb --- /dev/null +++ b/obj/Container/LaunchedImageId.cache @@ -0,0 +1 @@ +sha256:f2064e067627b07b7efe239c02c02d6779277d22335688e17f57450dca824409 \ No newline at end of file diff --git a/obj/Container/OperatingSystemName.cache b/obj/Container/OperatingSystemName.cache new file mode 100644 index 0000000000000000000000000000000000000000..3ab1070083474945940af95bfe8f9b7625f89910 --- /dev/null +++ b/obj/Container/OperatingSystemName.cache @@ -0,0 +1 @@ +Linux \ No newline at end of file diff --git a/obj/Container/TargetFramework.cache b/obj/Container/TargetFramework.cache new file mode 100644 index 0000000000000000000000000000000000000000..8d2863a4b75bdfb880afc1218b0652fb26ecd939 --- /dev/null +++ b/obj/Container/TargetFramework.cache @@ -0,0 +1 @@ +DotNetCore \ No newline at end of file diff --git a/obj/Container/VolumeMappings.cache b/obj/Container/VolumeMappings.cache new file mode 100644 index 0000000000000000000000000000000000000000..2e6a6e948cbdfc21ca1698f34e4ba76fc0082060 --- /dev/null +++ b/obj/Container/VolumeMappings.cache @@ -0,0 +1 @@ +{"C:\\Users\\chris\\vsdbg\\vs2017u5":"/remote_debugger","C:\\Users\\chris\\AppData\\Roaming\\Microsoft\\UserSecrets":"/home/app/.microsoft/usersecrets","C:\\Users\\chris\\AppData\\Roaming\\ASP.NET\\Https":"/home/app/.aspnet/https","C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Sdks\\Microsoft.Docker.Sdk\\tools\\linux-x64\\net8.0":"/VSTools","C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\HotReload":"/HotReloadAgent"} \ No newline at end of file diff --git a/obj/Container/VolumeMappings2.cache b/obj/Container/VolumeMappings2.cache new file mode 100644 index 0000000000000000000000000000000000000000..162fe0deebdeb5fec38e948cc27683a944af5b5f --- /dev/null +++ b/obj/Container/VolumeMappings2.cache @@ -0,0 +1 @@ +[{"SourcePath":"C:\\Users\\chris\\vsdbg\\vs2017u5","TargetPath":"/remote_debugger","ReadOnly":false},{"SourcePath":"C:\\Users\\chris\\AppData\\Roaming\\Microsoft\\UserSecrets","TargetPath":"/root/.microsoft/usersecrets","ReadOnly":true},{"SourcePath":"C:\\Users\\chris\\AppData\\Roaming\\Microsoft\\UserSecrets","TargetPath":"/home/app/.microsoft/usersecrets","ReadOnly":true},{"SourcePath":"C:\\Users\\chris\\AppData\\Roaming\\ASP.NET\\Https","TargetPath":"/root/.aspnet/https","ReadOnly":true},{"SourcePath":"C:\\Users\\chris\\AppData\\Roaming\\ASP.NET\\Https","TargetPath":"/home/app/.aspnet/https","ReadOnly":true},{"SourcePath":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Sdks\\Microsoft.Docker.Sdk\\tools\\linux-x64\\net8.0","TargetPath":"/VSTools","ReadOnly":true},{"SourcePath":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\HotReload","TargetPath":"/HotReloadAgent","ReadOnly":true}] \ No newline at end of file diff --git a/obj/Container/VsDbgScript.cache b/obj/Container/VsDbgScript.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000000000000000000000000000000000000..678fc5fd23a6226a978e21f48796aa1dadc7e7ad --- /dev/null +++ b/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/obj/Debug/net8.0/ApiEndpoints.json b/obj/Debug/net8.0/ApiEndpoints.json new file mode 100644 index 0000000000000000000000000000000000000000..aeb5b85a5b54b07b7845d36d1eff17c2e6ec816c --- /dev/null +++ b/obj/Debug/net8.0/ApiEndpoints.json @@ -0,0 +1,22 @@ +[ + { + "ContainingType": "ai_server_docker.Controllers.WeatherForecastController", + "Method": "Get", + "RelativePath": "WeatherForecast", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[ai_server_docker.WeatherForecast, ai_server_docker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + } +] \ No newline at end of file diff --git a/obj/Debug/net8.0/ai_server_docker.AssemblyInfo.cs b/obj/Debug/net8.0/ai_server_docker.AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..97cb4475db2875f7dc8c9c82a0e50cf26663733b --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.AssemblyInfo.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// 這段程式碼是由工具產生的。 +// 執行階段版本:4.0.30319.42000 +// +// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +// 變更將會遺失。 +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute("fc82dcaf-3161-4441-9e5d-92fdf63b2d3d")] +[assembly: System.Reflection.AssemblyCompanyAttribute("ai_server_docker")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("ai_server_docker")] +[assembly: System.Reflection.AssemblyTitleAttribute("ai_server_docker")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// 由 MSBuild WriteCodeFragment 類別產生。 + diff --git a/obj/Debug/net8.0/ai_server_docker.AssemblyInfoInputs.cache b/obj/Debug/net8.0/ai_server_docker.AssemblyInfoInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..43e6f0230e6c649ecd50bd27d2a5b08e7ca8147d --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +afa12d56df3763e4625c96877ddec63db0e9d8a99d351868965a0ee60ed338ca diff --git a/obj/Debug/net8.0/ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0/ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..12895f546a475d3cbd5cebe0feec0bd3cd5bb1cf --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,19 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = true +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = ai_server_docker +build_property.RootNamespace = ai_server_docker +build_property.ProjectDir = C:\Users\chris\source\repos\ai_server_docker\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.RazorLangVersion = 8.0 +build_property.SupportLocalizedComponentNames = +build_property.GenerateRazorMetadataSourceChecksumAttributes = +build_property.MSBuildProjectDirectory = C:\Users\chris\source\repos\ai_server_docker +build_property._RazorSourceGeneratorDebug = diff --git a/obj/Debug/net8.0/ai_server_docker.GlobalUsings.g.cs b/obj/Debug/net8.0/ai_server_docker.GlobalUsings.g.cs new file mode 100644 index 0000000000000000000000000000000000000000..45ca3c5d8233a1b509d23fb62f206a164d39197f --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.GlobalUsings.g.cs @@ -0,0 +1,17 @@ +// +global using global::Microsoft.AspNetCore.Builder; +global using global::Microsoft.AspNetCore.Hosting; +global using global::Microsoft.AspNetCore.Http; +global using global::Microsoft.AspNetCore.Routing; +global using global::Microsoft.Extensions.Configuration; +global using global::Microsoft.Extensions.DependencyInjection; +global using global::Microsoft.Extensions.Hosting; +global using global::Microsoft.Extensions.Logging; +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Net.Http.Json; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/obj/Debug/net8.0/ai_server_docker.MvcApplicationPartsAssemblyInfo.cache b/obj/Debug/net8.0/ai_server_docker.MvcApplicationPartsAssemblyInfo.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Debug/net8.0/ai_server_docker.assets.cache b/obj/Debug/net8.0/ai_server_docker.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..17835eb80693d84b745f2e63ffe42934237199de Binary files /dev/null and b/obj/Debug/net8.0/ai_server_docker.assets.cache differ diff --git a/obj/Debug/net8.0/ai_server_docker.csproj.BuildWithSkipAnalyzers b/obj/Debug/net8.0/ai_server_docker.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Debug/net8.0/ai_server_docker.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0/ai_server_docker.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..239c4090d5ef2112336754955c4eae7f551dceb8 --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +cec7500a6d57070cae46a71071764d9a78c696079b32aea4b0a01f80a33d67b0 diff --git a/obj/Debug/net8.0/ai_server_docker.csproj.FileListAbsolute.txt b/obj/Debug/net8.0/ai_server_docker.csproj.FileListAbsolute.txt new file mode 100644 index 0000000000000000000000000000000000000000..74bacac07efbd3d0eb679f9c3da5dad21e65d3a3 --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.csproj.FileListAbsolute.txt @@ -0,0 +1,27 @@ +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\appsettings.Development.json +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\appsettings.json +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\ai_server_docker.staticwebassets.runtime.json +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\ai_server_docker.exe +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\ai_server_docker.deps.json +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\ai_server_docker.runtimeconfig.json +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\ai_server_docker.pdb +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.AssemblyInfoInputs.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.AssemblyInfo.cs +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.csproj.CoreCompileInputs.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.MvcApplicationPartsAssemblyInfo.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets.build.json +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets.development.json +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets\msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets\msbuild.build.ai_server_docker.props +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets\msbuild.buildMultiTargeting.ai_server_docker.props +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets\msbuild.buildTransitive.ai_server_docker.props +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\staticwebassets.pack.json +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\scopedcss\bundle\ai_server_docker.styles.css +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\refint\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.pdb +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ai_server_docker.genruntimeconfig.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Debug\net8.0\ref\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\bin\Debug\net8.0\wwwroot\isnet_infer.onnx diff --git a/obj/Debug/net8.0/ai_server_docker.dll b/obj/Debug/net8.0/ai_server_docker.dll new file mode 100644 index 0000000000000000000000000000000000000000..73ad3ce3e6c8a5f116f2394c847b5fa3325e0700 Binary files /dev/null and b/obj/Debug/net8.0/ai_server_docker.dll differ diff --git a/obj/Debug/net8.0/ai_server_docker.genruntimeconfig.cache b/obj/Debug/net8.0/ai_server_docker.genruntimeconfig.cache new file mode 100644 index 0000000000000000000000000000000000000000..9489186b44bdd816c4ce37b929a961774dab4d3c --- /dev/null +++ b/obj/Debug/net8.0/ai_server_docker.genruntimeconfig.cache @@ -0,0 +1 @@ +9616bc4709b745e4c11606381312c206cd6767e9ba72c982416f4255dc7fd245 diff --git a/obj/Debug/net8.0/ai_server_docker.pdb b/obj/Debug/net8.0/ai_server_docker.pdb new file mode 100644 index 0000000000000000000000000000000000000000..1014864404c3abc39ee093f75a96ecf05da36967 Binary files /dev/null and b/obj/Debug/net8.0/ai_server_docker.pdb differ diff --git a/obj/Debug/net8.0/apphost.exe b/obj/Debug/net8.0/apphost.exe new file mode 100644 index 0000000000000000000000000000000000000000..e27e759dd0e3db9a4bbc55ce515930a1ccf74181 --- /dev/null +++ b/obj/Debug/net8.0/apphost.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea5a8736e7cbd36e0d08504bdf85211d732168c4491e9411516223a99e877c0 +size 138752 diff --git a/obj/Debug/net8.0/ref/ai_server_docker.dll b/obj/Debug/net8.0/ref/ai_server_docker.dll new file mode 100644 index 0000000000000000000000000000000000000000..46cc986122aca29a0be4391dbc1dfbf4025c666d Binary files /dev/null and b/obj/Debug/net8.0/ref/ai_server_docker.dll differ diff --git a/obj/Debug/net8.0/refint/ai_server_docker.dll b/obj/Debug/net8.0/refint/ai_server_docker.dll new file mode 100644 index 0000000000000000000000000000000000000000..46cc986122aca29a0be4391dbc1dfbf4025c666d Binary files /dev/null and b/obj/Debug/net8.0/refint/ai_server_docker.dll differ diff --git a/obj/Debug/net8.0/staticwebassets.build.json b/obj/Debug/net8.0/staticwebassets.build.json new file mode 100644 index 0000000000000000000000000000000000000000..8318657d87fa51ad85cdc010a4eb60b23a6a6743 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets.build.json @@ -0,0 +1,115 @@ +{ + "Version": 1, + "Hash": "eYl9K/pE7zQ5qOcB9m7gjsb45q5c/P317n+YVK1mojo=", + "Source": "ai_server_docker", + "BasePath": "_content/ai_server_docker", + "Mode": "Default", + "ManifestType": "Build", + "ReferencedProjectsConfiguration": [], + "DiscoveryPatterns": [ + { + "Name": "ai_server_docker\\wwwroot", + "Source": "ai_server_docker", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "Pattern": "**" + } + ], + "Assets": [ + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.data", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.data", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.data" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.html", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.html", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.html" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.js", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.js", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.js" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.wasm", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.wasm", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.wasm" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\isnet_infer.onnx", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "isnet_infer.onnx", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Always", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\isnet_infer.onnx" + } + ] +} \ No newline at end of file diff --git a/obj/Debug/net8.0/staticwebassets.development.json b/obj/Debug/net8.0/staticwebassets.development.json new file mode 100644 index 0000000000000000000000000000000000000000..19041fade01790226f4f07a492a8ea11a6e3cd76 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets.development.json @@ -0,0 +1 @@ +{"ContentRoots":["C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\"],"Root":{"Children":{"index.data":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.data"},"Patterns":null},"index.html":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.html"},"Patterns":null},"index.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.js"},"Patterns":null},"index.wasm":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.wasm"},"Patterns":null},"isnet_infer.onnx":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"isnet_infer.onnx"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}} \ No newline at end of file diff --git a/obj/Debug/net8.0/staticwebassets.pack.json b/obj/Debug/net8.0/staticwebassets.pack.json new file mode 100644 index 0000000000000000000000000000000000000000..0d76a63a22386436d078d2399c6dbf8929974c12 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets.pack.json @@ -0,0 +1,41 @@ +{ + "Files": [ + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.data", + "PackagePath": "staticwebassets\\index.data" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.html", + "PackagePath": "staticwebassets\\index.html" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.js", + "PackagePath": "staticwebassets\\index.js" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.wasm", + "PackagePath": "staticwebassets\\index.wasm" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\isnet_infer.onnx", + "PackagePath": "staticwebassets\\isnet_infer.onnx" + }, + { + "Id": "obj\\Debug\\net8.0\\staticwebassets\\msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props", + "PackagePath": "build\\Microsoft.AspNetCore.StaticWebAssets.props" + }, + { + "Id": "obj\\Debug\\net8.0\\staticwebassets\\msbuild.build.ai_server_docker.props", + "PackagePath": "build\\ai_server_docker.props" + }, + { + "Id": "obj\\Debug\\net8.0\\staticwebassets\\msbuild.buildMultiTargeting.ai_server_docker.props", + "PackagePath": "buildMultiTargeting\\ai_server_docker.props" + }, + { + "Id": "obj\\Debug\\net8.0\\staticwebassets\\msbuild.buildTransitive.ai_server_docker.props", + "PackagePath": "buildTransitive\\ai_server_docker.props" + } + ], + "ElementsToRemove": [] +} \ No newline at end of file diff --git a/obj/Debug/net8.0/staticwebassets/msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props b/obj/Debug/net8.0/staticwebassets/msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props new file mode 100644 index 0000000000000000000000000000000000000000..bad2803903423240161a95158bc75320e5c80471 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets/msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props @@ -0,0 +1,84 @@ + + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.data + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.data)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.html + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.html)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.js + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.js)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.wasm + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.wasm)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + isnet_infer.onnx + All + All + Primary + + + + Always + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\isnet_infer.onnx)) + + + \ No newline at end of file diff --git a/obj/Debug/net8.0/staticwebassets/msbuild.build.ai_server_docker.props b/obj/Debug/net8.0/staticwebassets/msbuild.build.ai_server_docker.props new file mode 100644 index 0000000000000000000000000000000000000000..c12810d4836f554edb118829f40fa0587b9f0925 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets/msbuild.build.ai_server_docker.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.ai_server_docker.props b/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.ai_server_docker.props new file mode 100644 index 0000000000000000000000000000000000000000..d5401d77b6708df047e816674f0cb754a96e2e54 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.ai_server_docker.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.ai_server_docker.props b/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.ai_server_docker.props new file mode 100644 index 0000000000000000000000000000000000000000..54c7781be66fab8a43c107d8bdaf91e31992ac19 --- /dev/null +++ b/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.ai_server_docker.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000000000000000000000000000000000000..678fc5fd23a6226a978e21f48796aa1dadc7e7ad --- /dev/null +++ b/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/obj/Release/net8.0/ApiEndpoints.json b/obj/Release/net8.0/ApiEndpoints.json new file mode 100644 index 0000000000000000000000000000000000000000..aeb5b85a5b54b07b7845d36d1eff17c2e6ec816c --- /dev/null +++ b/obj/Release/net8.0/ApiEndpoints.json @@ -0,0 +1,22 @@ +[ + { + "ContainingType": "ai_server_docker.Controllers.WeatherForecastController", + "Method": "Get", + "RelativePath": "WeatherForecast", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [ + { + "Type": "System.Collections.Generic.IEnumerable\u00601[[ai_server_docker.WeatherForecast, ai_server_docker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]", + "MediaTypes": [ + "text/plain", + "application/json", + "text/json" + ], + "StatusCode": 200 + } + ] + } +] \ No newline at end of file diff --git a/obj/Release/net8.0/ai_server_docker.AssemblyInfo.cs b/obj/Release/net8.0/ai_server_docker.AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..7447d41e1285aff5f107ac04b865f9e636f6bf4c --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.AssemblyInfo.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// 這段程式碼是由工具產生的。 +// 執行階段版本:4.0.30319.42000 +// +// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +// 變更將會遺失。 +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute("fc82dcaf-3161-4441-9e5d-92fdf63b2d3d")] +[assembly: System.Reflection.AssemblyCompanyAttribute("ai_server_docker")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("ai_server_docker")] +[assembly: System.Reflection.AssemblyTitleAttribute("ai_server_docker")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// 由 MSBuild WriteCodeFragment 類別產生。 + diff --git a/obj/Release/net8.0/ai_server_docker.AssemblyInfoInputs.cache b/obj/Release/net8.0/ai_server_docker.AssemblyInfoInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..6af9ea1837f6b85d928445a415d3daf2aa17401d --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +c46113bbaf650cccc90e3a2e6f31fd7735ca07327294b1c4d5f2070b6c302af9 diff --git a/obj/Release/net8.0/ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig b/obj/Release/net8.0/ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..12895f546a475d3cbd5cebe0feec0bd3cd5bb1cf --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,19 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = true +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = ai_server_docker +build_property.RootNamespace = ai_server_docker +build_property.ProjectDir = C:\Users\chris\source\repos\ai_server_docker\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.RazorLangVersion = 8.0 +build_property.SupportLocalizedComponentNames = +build_property.GenerateRazorMetadataSourceChecksumAttributes = +build_property.MSBuildProjectDirectory = C:\Users\chris\source\repos\ai_server_docker +build_property._RazorSourceGeneratorDebug = diff --git a/obj/Release/net8.0/ai_server_docker.GlobalUsings.g.cs b/obj/Release/net8.0/ai_server_docker.GlobalUsings.g.cs new file mode 100644 index 0000000000000000000000000000000000000000..45ca3c5d8233a1b509d23fb62f206a164d39197f --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.GlobalUsings.g.cs @@ -0,0 +1,17 @@ +// +global using global::Microsoft.AspNetCore.Builder; +global using global::Microsoft.AspNetCore.Hosting; +global using global::Microsoft.AspNetCore.Http; +global using global::Microsoft.AspNetCore.Routing; +global using global::Microsoft.Extensions.Configuration; +global using global::Microsoft.Extensions.DependencyInjection; +global using global::Microsoft.Extensions.Hosting; +global using global::Microsoft.Extensions.Logging; +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Net.Http.Json; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/obj/Release/net8.0/ai_server_docker.MvcApplicationPartsAssemblyInfo.cache b/obj/Release/net8.0/ai_server_docker.MvcApplicationPartsAssemblyInfo.cache new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Release/net8.0/ai_server_docker.assets.cache b/obj/Release/net8.0/ai_server_docker.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..9f3fa728c2da4e3b7f0a0fec3b3def0103ef5147 Binary files /dev/null and b/obj/Release/net8.0/ai_server_docker.assets.cache differ diff --git a/obj/Release/net8.0/ai_server_docker.csproj.BuildWithSkipAnalyzers b/obj/Release/net8.0/ai_server_docker.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/obj/Release/net8.0/ai_server_docker.csproj.CoreCompileInputs.cache b/obj/Release/net8.0/ai_server_docker.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..8dc5d6c34dfdde727550e3d207096df94ca3496b --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +0658832c65f72dac6a2c47432b2a3f1e0058421f9826bf3fc6c7a2acdc7e3fe9 diff --git a/obj/Release/net8.0/ai_server_docker.csproj.FileListAbsolute.txt b/obj/Release/net8.0/ai_server_docker.csproj.FileListAbsolute.txt new file mode 100644 index 0000000000000000000000000000000000000000..038055dbfa428b2e4877634287535d18c740dee3 --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.csproj.FileListAbsolute.txt @@ -0,0 +1,26 @@ +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\appsettings.Development.json +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\appsettings.json +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\ai_server_docker.staticwebassets.runtime.json +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\ai_server_docker.exe +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\ai_server_docker.deps.json +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\ai_server_docker.runtimeconfig.json +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\bin\Release\net8.0\ai_server_docker.pdb +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.AssemblyInfoInputs.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.AssemblyInfo.cs +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.csproj.CoreCompileInputs.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.MvcApplicationPartsAssemblyInfo.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets.build.json +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets.development.json +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets\msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets\msbuild.build.ai_server_docker.props +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets\msbuild.buildMultiTargeting.ai_server_docker.props +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets\msbuild.buildTransitive.ai_server_docker.props +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\staticwebassets.pack.json +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\scopedcss\bundle\ai_server_docker.styles.css +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\refint\ai_server_docker.dll +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.pdb +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ai_server_docker.genruntimeconfig.cache +C:\Users\chris\source\repos\ai_server_docker\obj\Release\net8.0\ref\ai_server_docker.dll diff --git a/obj/Release/net8.0/ai_server_docker.dll b/obj/Release/net8.0/ai_server_docker.dll new file mode 100644 index 0000000000000000000000000000000000000000..f5751ad82be2477882d1191845f349dd523b687d Binary files /dev/null and b/obj/Release/net8.0/ai_server_docker.dll differ diff --git a/obj/Release/net8.0/ai_server_docker.genruntimeconfig.cache b/obj/Release/net8.0/ai_server_docker.genruntimeconfig.cache new file mode 100644 index 0000000000000000000000000000000000000000..c8fb6f6b82a7a71114eebcc85323b48dfc12ddc7 --- /dev/null +++ b/obj/Release/net8.0/ai_server_docker.genruntimeconfig.cache @@ -0,0 +1 @@ +78a1f7bdfd221609c60d15679eba3b3f840e7abbeaf9e0cc181448d6f60cfd5a diff --git a/obj/Release/net8.0/ai_server_docker.pdb b/obj/Release/net8.0/ai_server_docker.pdb new file mode 100644 index 0000000000000000000000000000000000000000..2d0f0c9fbab6d8c933b54e481d119feb98282ca4 Binary files /dev/null and b/obj/Release/net8.0/ai_server_docker.pdb differ diff --git a/obj/Release/net8.0/apphost.exe b/obj/Release/net8.0/apphost.exe new file mode 100644 index 0000000000000000000000000000000000000000..e27e759dd0e3db9a4bbc55ce515930a1ccf74181 --- /dev/null +++ b/obj/Release/net8.0/apphost.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea5a8736e7cbd36e0d08504bdf85211d732168c4491e9411516223a99e877c0 +size 138752 diff --git a/obj/Release/net8.0/ref/ai_server_docker.dll b/obj/Release/net8.0/ref/ai_server_docker.dll new file mode 100644 index 0000000000000000000000000000000000000000..22abba8b06f1dd0f45944bf29ad12496f3bc76bf Binary files /dev/null and b/obj/Release/net8.0/ref/ai_server_docker.dll differ diff --git a/obj/Release/net8.0/refint/ai_server_docker.dll b/obj/Release/net8.0/refint/ai_server_docker.dll new file mode 100644 index 0000000000000000000000000000000000000000..22abba8b06f1dd0f45944bf29ad12496f3bc76bf Binary files /dev/null and b/obj/Release/net8.0/refint/ai_server_docker.dll differ diff --git a/obj/Release/net8.0/staticwebassets.build.json b/obj/Release/net8.0/staticwebassets.build.json new file mode 100644 index 0000000000000000000000000000000000000000..c0c671690b6971a566813016e0dc97fcefd201b0 --- /dev/null +++ b/obj/Release/net8.0/staticwebassets.build.json @@ -0,0 +1,96 @@ +{ + "Version": 1, + "Hash": "N0J4fjqMikQBoRMqsJZzL1ji8AEEbdBj9PZc6O3tlCI=", + "Source": "ai_server_docker", + "BasePath": "_content/ai_server_docker", + "Mode": "Default", + "ManifestType": "Build", + "ReferencedProjectsConfiguration": [], + "DiscoveryPatterns": [ + { + "Name": "ai_server_docker\\wwwroot", + "Source": "ai_server_docker", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "Pattern": "**" + } + ], + "Assets": [ + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.data", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.data", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.data" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.html", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.html", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.html" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.js", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.js", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.js" + }, + { + "Identity": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.wasm", + "SourceId": "ai_server_docker", + "SourceType": "Discovered", + "ContentRoot": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\", + "BasePath": "_content/ai_server_docker", + "RelativePath": "index.wasm", + "AssetKind": "All", + "AssetMode": "All", + "AssetRole": "Primary", + "AssetMergeBehavior": "PreferTarget", + "AssetMergeSource": "", + "RelatedAsset": "", + "AssetTraitName": "", + "AssetTraitValue": "", + "CopyToOutputDirectory": "Never", + "CopyToPublishDirectory": "PreserveNewest", + "OriginalItemSpec": "wwwroot\\index.wasm" + } + ] +} \ No newline at end of file diff --git a/obj/Release/net8.0/staticwebassets.development.json b/obj/Release/net8.0/staticwebassets.development.json new file mode 100644 index 0000000000000000000000000000000000000000..44e72276a70e2ecb7314e3baa27bcefbf1eba8ef --- /dev/null +++ b/obj/Release/net8.0/staticwebassets.development.json @@ -0,0 +1 @@ +{"ContentRoots":["C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\"],"Root":{"Children":{"index.data":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.data"},"Patterns":null},"index.html":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.html"},"Patterns":null},"index.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.js"},"Patterns":null},"index.wasm":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.wasm"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}} \ No newline at end of file diff --git a/obj/Release/net8.0/staticwebassets.pack.json b/obj/Release/net8.0/staticwebassets.pack.json new file mode 100644 index 0000000000000000000000000000000000000000..972cb77660b01e3aa90fa82a14c1a411e09a2405 --- /dev/null +++ b/obj/Release/net8.0/staticwebassets.pack.json @@ -0,0 +1,37 @@ +{ + "Files": [ + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.data", + "PackagePath": "staticwebassets\\index.data" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.html", + "PackagePath": "staticwebassets\\index.html" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.js", + "PackagePath": "staticwebassets\\index.js" + }, + { + "Id": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\wwwroot\\index.wasm", + "PackagePath": "staticwebassets\\index.wasm" + }, + { + "Id": "obj\\Release\\net8.0\\staticwebassets\\msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props", + "PackagePath": "build\\Microsoft.AspNetCore.StaticWebAssets.props" + }, + { + "Id": "obj\\Release\\net8.0\\staticwebassets\\msbuild.build.ai_server_docker.props", + "PackagePath": "build\\ai_server_docker.props" + }, + { + "Id": "obj\\Release\\net8.0\\staticwebassets\\msbuild.buildMultiTargeting.ai_server_docker.props", + "PackagePath": "buildMultiTargeting\\ai_server_docker.props" + }, + { + "Id": "obj\\Release\\net8.0\\staticwebassets\\msbuild.buildTransitive.ai_server_docker.props", + "PackagePath": "buildTransitive\\ai_server_docker.props" + } + ], + "ElementsToRemove": [] +} \ No newline at end of file diff --git a/obj/Release/net8.0/staticwebassets/msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props b/obj/Release/net8.0/staticwebassets/msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props new file mode 100644 index 0000000000000000000000000000000000000000..d7d6b887b4210203b9e03eb98572661020a45657 --- /dev/null +++ b/obj/Release/net8.0/staticwebassets/msbuild.ai_server_docker.Microsoft.AspNetCore.StaticWebAssets.props @@ -0,0 +1,68 @@ + + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.data + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.data)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.html + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.html)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.js + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.js)) + + + Package + ai_server_docker + $(MSBuildThisFileDirectory)..\staticwebassets\ + _content/ai_server_docker + index.wasm + All + All + Primary + + + + Never + PreserveNewest + $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\index.wasm)) + + + \ No newline at end of file diff --git a/obj/Release/net8.0/staticwebassets/msbuild.build.ai_server_docker.props b/obj/Release/net8.0/staticwebassets/msbuild.build.ai_server_docker.props new file mode 100644 index 0000000000000000000000000000000000000000..c12810d4836f554edb118829f40fa0587b9f0925 --- /dev/null +++ b/obj/Release/net8.0/staticwebassets/msbuild.build.ai_server_docker.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/obj/Release/net8.0/staticwebassets/msbuild.buildMultiTargeting.ai_server_docker.props b/obj/Release/net8.0/staticwebassets/msbuild.buildMultiTargeting.ai_server_docker.props new file mode 100644 index 0000000000000000000000000000000000000000..d5401d77b6708df047e816674f0cb754a96e2e54 --- /dev/null +++ b/obj/Release/net8.0/staticwebassets/msbuild.buildMultiTargeting.ai_server_docker.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/obj/Release/net8.0/staticwebassets/msbuild.buildTransitive.ai_server_docker.props b/obj/Release/net8.0/staticwebassets/msbuild.buildTransitive.ai_server_docker.props new file mode 100644 index 0000000000000000000000000000000000000000..54c7781be66fab8a43c107d8bdaf91e31992ac19 --- /dev/null +++ b/obj/Release/net8.0/staticwebassets/msbuild.buildTransitive.ai_server_docker.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/obj/ai_server_docker.csproj.nuget.dgspec.json b/obj/ai_server_docker.csproj.nuget.dgspec.json new file mode 100644 index 0000000000000000000000000000000000000000..28543c481a514164c70531b06bfbb80ba3614ed4 --- /dev/null +++ b/obj/ai_server_docker.csproj.nuget.dgspec.json @@ -0,0 +1,78 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj": {} + }, + "projects": { + "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj", + "projectName": "ai_server_docker", + "projectPath": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj", + "packagesPath": "C:\\Users\\chris\\.nuget\\packages\\", + "outputPath": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\chris\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "dependencies": { + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": { + "target": "Package", + "version": "[1.21.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/obj/ai_server_docker.csproj.nuget.g.props b/obj/ai_server_docker.csproj.nuget.g.props new file mode 100644 index 0000000000000000000000000000000000000000..03710d8ecb5569069106f3a680d3ec292bbd0182 --- /dev/null +++ b/obj/ai_server_docker.csproj.nuget.g.props @@ -0,0 +1,21 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\chris\.nuget\packages\ + PackageReference + 6.11.1 + + + + + + + + + C:\Users\chris\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.21.0 + + \ No newline at end of file diff --git a/obj/ai_server_docker.csproj.nuget.g.targets b/obj/ai_server_docker.csproj.nuget.g.targets new file mode 100644 index 0000000000000000000000000000000000000000..ecb2b37f1963f936d628694f8aa10db5f7c35ac0 --- /dev/null +++ b/obj/ai_server_docker.csproj.nuget.g.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/obj/project.assets.json b/obj/project.assets.json new file mode 100644 index 0000000000000000000000000000000000000000..d6969a7efc8fbc442dcad05f75ac8710dffa97c0 --- /dev/null +++ b/obj/project.assets.json @@ -0,0 +1,174 @@ +{ + "version": 3, + "targets": { + "net8.0": { + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.21.0": { + "type": "package", + "build": { + "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props": {}, + "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets": {} + } + } + } + }, + "libraries": { + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets/1.21.0": { + "sha512": "8NudeHOE56YsY59HYY89akRMup8Ho+7Y3cADTGjajjWroXVU9RQai2nA6PfteB8AuzmRHZ5NZQB2BnWhQEul5g==", + "type": "package", + "path": "microsoft.visualstudio.azure.containers.tools.targets/1.21.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "CHANGELOG.md", + "EULA.md", + "ThirdPartyNotices.txt", + "build/Container.props", + "build/Container.targets", + "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.props", + "build/Microsoft.VisualStudio.Azure.Containers.Tools.Targets.targets", + "build/Rules/GeneralBrowseObject.xaml", + "build/Rules/cs-CZ/GeneralBrowseObject.xaml", + "build/Rules/de-DE/GeneralBrowseObject.xaml", + "build/Rules/es-ES/GeneralBrowseObject.xaml", + "build/Rules/fr-FR/GeneralBrowseObject.xaml", + "build/Rules/it-IT/GeneralBrowseObject.xaml", + "build/Rules/ja-JP/GeneralBrowseObject.xaml", + "build/Rules/ko-KR/GeneralBrowseObject.xaml", + "build/Rules/pl-PL/GeneralBrowseObject.xaml", + "build/Rules/pt-BR/GeneralBrowseObject.xaml", + "build/Rules/ru-RU/GeneralBrowseObject.xaml", + "build/Rules/tr-TR/GeneralBrowseObject.xaml", + "build/Rules/zh-CN/GeneralBrowseObject.xaml", + "build/Rules/zh-TW/GeneralBrowseObject.xaml", + "build/ToolsTarget.props", + "build/ToolsTarget.targets", + "icon.png", + "microsoft.visualstudio.azure.containers.tools.targets.1.21.0.nupkg.sha512", + "microsoft.visualstudio.azure.containers.tools.targets.nuspec", + "tools/Microsoft.VisualStudio.Containers.Tools.Common.dll", + "tools/Microsoft.VisualStudio.Containers.Tools.Shared.dll", + "tools/Microsoft.VisualStudio.Containers.Tools.Tasks.dll", + "tools/Newtonsoft.Json.dll", + "tools/System.Security.Principal.Windows.dll", + "tools/cs/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/cs/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/cs/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/de/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/de/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/de/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/es/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/es/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/es/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/fr/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/fr/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/fr/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/it/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/it/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/it/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/ja/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/ja/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/ja/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/ko/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/ko/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/ko/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/pl/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/pl/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/pl/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/pt-BR/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/pt-BR/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/pt-BR/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/ru/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/ru/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/ru/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/tr/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/tr/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/tr/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/zh-Hans/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/zh-Hans/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/zh-Hans/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll", + "tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Common.resources.dll", + "tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Shared.resources.dll", + "tools/zh-Hant/Microsoft.VisualStudio.Containers.Tools.Tasks.resources.dll" + ] + } + }, + "projectFileDependencyGroups": { + "net8.0": [ + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.21.0" + ] + }, + "packageFolders": { + "C:\\Users\\chris\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj", + "projectName": "ai_server_docker", + "projectPath": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj", + "packagesPath": "C:\\Users\\chris\\.nuget\\packages\\", + "outputPath": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\chris\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "dependencies": { + "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": { + "target": "Package", + "version": "[1.21.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.403/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache new file mode 100644 index 0000000000000000000000000000000000000000..19c47a42abf21e3b7422172055167bb4b6b413bc --- /dev/null +++ b/obj/project.nuget.cache @@ -0,0 +1,10 @@ +{ + "version": 2, + "dgSpecHash": "F4ziER+Xj8A=", + "success": true, + "projectFilePath": "C:\\Users\\chris\\source\\repos\\ai_server_docker\\ai_server_docker.csproj", + "expectedPackageFiles": [ + "C:\\Users\\chris\\.nuget\\packages\\microsoft.visualstudio.azure.containers.tools.targets\\1.21.0\\microsoft.visualstudio.azure.containers.tools.targets.1.21.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/wwwroot/index.data b/wwwroot/index.data new file mode 100644 index 0000000000000000000000000000000000000000..7fcfbce69345ae7b3613357c76ef899cf9fb25ae --- /dev/null +++ b/wwwroot/index.data @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0152379c9b4ef493ce935b379e73e85b5717e4c80073994c2d525bfdcb7024 +size 99447317 diff --git a/wwwroot/index.html b/wwwroot/index.html new file mode 100644 index 0000000000000000000000000000000000000000..514bbbbb4f6f3237560ab76c7df5a157d2b10f5f --- /dev/null +++ b/wwwroot/index.html @@ -0,0 +1,84 @@ + + + + + + Dear ImGui Emscripten+GLFW+WebGPU example + + + + + + + diff --git a/wwwroot/index.js b/wwwroot/index.js new file mode 100644 index 0000000000000000000000000000000000000000..df43599048f188d81f4174698d263fb84ebba2e7 --- /dev/null +++ b/wwwroot/index.js @@ -0,0 +1 @@ +var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&self.name?.startsWith("em-pthread");if(ENVIRONMENT_IS_NODE){var worker_threads=require("worker_threads");global.Worker=worker_threads.Worker;ENVIRONMENT_IS_WORKER=!worker_threads.isMainThread;ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&worker_threads["workerData"]=="em-pthread"}Module["expectedDataFileDownloads"]??=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="C:/Users/chris/source/repos/ai_server_docker/wwwroot/index.data";var REMOTE_PACKAGE_BASE="index.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(isNode){require("fs").readFile(packageName,(err,contents)=>{if(err){errback(err)}else{callback(contents.buffer)}});return}Module["dataFileDownloads"]??={};fetch(packageName).catch(cause=>Promise.reject(new Error(`Network Error: ${packageName}`,{cause}))).then(response=>{if(!response.ok){return Promise.reject(new Error(`${response.status}: ${response.url}`))}if(!response.body&&response.arrayBuffer){return response.arrayBuffer().then(callback)}const reader=response.body.getReader();const iterate=()=>reader.read().then(handleChunk).catch(cause=>Promise.reject(new Error(`Unexpected error while handling : ${response.url} ${cause}`,{cause})));const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")??packageSize);let loaded=0;const handleChunk=({done,value})=>{if(!done){chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]?.(`Downloading data... (${totalLoaded}/${totalSize})`);return iterate()}else{const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}callback(packageData.buffer)}};Module["setStatus"]?.("Downloading data...");return iterate()})}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,data=>{if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(Module){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","fonts",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var _scriptName=typeof document!="undefined"?document.currentScript?.src:undefined;if(ENVIRONMENT_IS_NODE){_scriptName=__filename}else if(ENVIRONMENT_IS_WORKER){_scriptName=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var defaultPrint=console.log.bind(console);var defaultPrintErr=console.error.bind(console);if(ENVIRONMENT_IS_NODE){var utils=require("util");var stringify=a=>typeof a=="object"?utils.inspect(a):a;defaultPrint=(...args)=>fs.writeSync(1,args.map(stringify).join(" ")+"\n");defaultPrintErr=(...args)=>fs.writeSync(2,args.map(stringify).join(" ")+"\n")}var out=defaultPrint;var err=defaultPrintErr;var wasmBinary;var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var runtimeExited=false;var isFileURI=filename=>filename.startsWith("file://");function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF64}if(ENVIRONMENT_IS_PTHREAD){var wasmModuleReceived;if(ENVIRONMENT_IS_NODE){var parentPort=worker_threads["parentPort"];parentPort.on("message",msg=>onmessage({data:msg}));Object.assign(globalThis,{self:global,postMessage:msg=>parentPort.postMessage(msg)})}var initializedJS=false;self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e["data"];var cmd=msgData.cmd;if(cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{postMessage({cmd:"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};for(const handler of msgData.handlers){if(!Module[handler]||Module[handler].proxy){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler,args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData.wasmMemory;updateMemoryViews();wasmModuleReceived(msgData.wasmModule)}else if(cmd==="run"){establishStackSpace(msgData.pthread_ptr);__emscripten_thread_init(msgData.pthread_ptr,0,0,1,0,0);PThread.threadInitTLS();__emscripten_thread_mailbox_await(msgData.pthread_ptr);if(!initializedJS){__embind_initialize_bindings();initializedJS=true}try{invokeEntryPoint(msgData.start_routine,msgData.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(msgData.target==="setimmediate"){}else if(cmd==="checkMailbox"){if(initializedJS){checkMailbox()}}else if(cmd){err(`worker: received unknown command ${cmd}`);err(msgData)}}catch(ex){__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function initMemory(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;wasmMemory=new WebAssembly.Memory({initial:BigInt(INITIAL_MEMORY/65536),maximum:BigInt(32768),shared:true,address:"i64"})}updateMemoryViews()}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return startWorker(Module);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["Cc"]();FS.ignorePermissions=false}function preMain(){}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;___funcs_on_exit();callRuntimeCallbacks(onExits);FS.quit();TTY.shutdown();PThread.terminateAllThreads();runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("index.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){assignWasmImports();return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmExports=applySignatureConversions(wasmExports);registerTLSInit(wasmExports["Uc"]);wasmTable=wasmExports["Ec"];wasmModule=module;removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}if(ENVIRONMENT_IS_PTHREAD){return new Promise(resolve=>{wasmModuleReceived=module=>{var instance=new WebAssembly.Instance(module,getWasmImports());resolve(receiveInstance(instance,module))}})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{}};var cleanupThread=pthread_ptr=>{var worker=PThread.pthreads[pthread_ptr];PThread.returnWorkerToPool(worker)};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var spawnThread=threadParams=>{var worker=PThread.getNewWorker();if(!worker){return 6}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={cmd:"run",start_routine:threadParams.startRoutine,arg:threadParams.arg,pthread_ptr:threadParams.pthread_ptr};if(ENVIRONMENT_IS_NODE){worker.unref()}worker.postMessage(msg,threadParams.transferList);return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var proxyToMainThread=(funcIndex,emAsmAddr,sync,...callArgs)=>{var serializedNumCallArgs=callArgs.length*2;var sp=stackSave();var args=stackAlloc(serializedNumCallArgs*8);var b=args/8;for(var i=0;i{EXITSTATUS=status;if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}if(!keepRuntimeAlive()){exitRuntime()}_proc_exit(status)};var _exit=exitJS;var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){if(!ENVIRONMENT_IS_PTHREAD){PThread.initMainThread()}},initMainThread(){var pthreadPoolSize=navigator.hardwareConcurrency;while(pthreadPoolSize--){PThread.allocateUnusedWorker()}addOnPreRun(()=>{addRunDependency("loading-workers");PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))})},terminateAllThreads:()=>{for(var worker of PThread.runningWorkers){terminateWorker(worker)}for(var worker of PThread.unusedWorkers){terminateWorker(worker)}PThread.unusedWorkers=[];PThread.runningWorkers=[];PThread.pthreads={}},returnWorkerToPool:worker=>{var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;__emscripten_thread_free_data(pthread_ptr)},threadInitTLS(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:worker=>new Promise(onFinishedLoading=>{worker.onmessage=e=>{var d=e["data"];var cmd=d.cmd;if(d.targetThread&&d.targetThread!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d.transferList)}else{err(`Internal error! Worker sent a message "${cmd}" to target pthread ${d.targetThread}, but that thread no longer exists!`)}return}if(cmd==="checkMailbox"){checkMailbox()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d.thread)}else if(cmd==="loaded"){worker.loaded=true;if(ENVIRONMENT_IS_NODE&&!worker.pthread_ptr){worker.unref()}onFinishedLoading(worker)}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d.handler](...d.args)}else if(cmd){err(`worker sent an unknown command ${cmd}`)}};worker.onerror=e=>{var message="worker sent an error!";err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};if(ENVIRONMENT_IS_NODE){worker.on("message",data=>worker.onmessage({data}));worker.on("error",e=>worker.onerror(e))}var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.postMessage({cmd:"load",handlers,wasmMemory,wasmModule})}),loadWasmModuleToAllWorkers(onMaybeReady){if(ENVIRONMENT_IS_PTHREAD){return onMaybeReady()}let pthreadPoolReady=Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));pthreadPoolReady.then(onMaybeReady)},allocateUnusedWorker(){var worker;var pthreadMainJs=_scriptName;if(Module["mainScriptUrlOrBlob"]){pthreadMainJs=Module["mainScriptUrlOrBlob"];if(typeof pthreadMainJs!="string"){pthreadMainJs=URL.createObjectURL(pthreadMainJs)}}worker=new Worker(pthreadMainJs,{workerData:"em-pthread",name:"em-pthread"});PThread.unusedWorkers.push(worker)},getNewWorker(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var establishStackSpace=pthread_ptr=>{updateMemoryViews();var stackHigh=Number(HEAPU64[(pthread_ptr+88)/8]);var stackSize=Number(HEAPU64[(pthread_ptr+96)/8]);var stackLow=stackHigh-stackSize;_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh)};var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;noExitRuntime=0;var result=(a1=>dynCall_jj(ptr,BigInt(a1)))(arg);function finish(result){if(keepRuntimeAlive()){EXITSTATUS=result}else{__emscripten_thread_exit(result)}}finish(result)};var noExitRuntime=false;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof ArrayBuffer?heapOrArray.subarray(idx,endPtr):heapOrArray.slice(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):"";function ___assert_fail(condition,filename,line,func){condition=bigintToI53Checked(condition);filename=bigintToI53Checked(filename);func=bigintToI53Checked(func);return abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-48}set_type(type){HEAPU64[(this.ptr+8)/8]=BigInt(type)}get_type(){return Number(HEAPU64[(this.ptr+8)/8])}set_destructor(destructor){HEAPU64[(this.ptr+16)/8]=BigInt(destructor)}get_destructor(){return Number(HEAPU64[(this.ptr+16)/8])}set_caught(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+24]=caught}get_caught(){return GROWABLE_HEAP_I8()[this.ptr+24]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+25]=rethrown}get_rethrown(){return GROWABLE_HEAP_I8()[this.ptr+25]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU64[(this.ptr+32)/8]=BigInt(adjustedPtr)}get_adjusted_ptr(){return Number(HEAPU64[(this.ptr+32)/8])}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){ptr=bigintToI53Checked(ptr);type=bigintToI53Checked(type);destructor=bigintToI53Checked(destructor);var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,pthread_ptr,attr,startRoutine,arg);return ___pthread_create_js(pthread_ptr,attr,startRoutine,arg)}var _emscripten_has_threading_support=()=>typeof SharedArrayBuffer!="undefined";function ___pthread_create_js(pthread_ptr,attr,startRoutine,arg){pthread_ptr=bigintToI53Checked(pthread_ptr);attr=bigintToI53Checked(attr);startRoutine=bigintToI53Checked(startRoutine);arg=bigintToI53Checked(arg);if(!_emscripten_has_threading_support()){return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg)}if(error)return error;var threadParams={startRoutine,pthread_ptr,arg,transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}var syscallGetVarargP=()=>{var ret=Number(HEAPU64[SYSCALLS.varargs/8]);SYSCALLS.varargs+=8;return ret};var syscallGetVarargI=()=>{var ret=GROWABLE_HEAP_I32()[+SYSCALLS.varargs/4];SYSCALLS.varargs+=4;return ret};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>view.set(crypto.getRandomValues(new Uint8Array(view.byteLength)));var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>GROWABLE_HEAP_U8().fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;_fflush(0);for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,GROWABLE_HEAP_I8(),ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){GROWABLE_HEAP_I32()[buf/4]=stat.dev;GROWABLE_HEAP_I32()[(buf+4)/4]=stat.mode;HEAPU64[(buf+8)/8]=BigInt(stat.nlink);GROWABLE_HEAP_I32()[(buf+16)/4]=stat.uid;GROWABLE_HEAP_I32()[(buf+20)/4]=stat.gid;GROWABLE_HEAP_I32()[(buf+24)/4]=stat.rdev;HEAP64[(buf+32)/8]=BigInt(stat.size);GROWABLE_HEAP_I32()[(buf+40)/4]=4096;GROWABLE_HEAP_I32()[(buf+44)/4]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[(buf+48)/8]=BigInt(Math.floor(atime/1e3));HEAPU64[(buf+56)/8]=BigInt(atime%1e3*1e3*1e3);HEAP64[(buf+64)/8]=BigInt(Math.floor(mtime/1e3));HEAPU64[(buf+72)/8]=BigInt(mtime%1e3*1e3*1e3);HEAP64[(buf+80)/8]=BigInt(Math.floor(ctime/1e3));HEAPU64[(buf+88)/8]=BigInt(ctime%1e3*1e3*1e3);HEAP64[(buf+96)/8]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){GROWABLE_HEAP_I32()[(buf+8)/4]=stats.bsize;GROWABLE_HEAP_I32()[(buf+56)/4]=stats.bsize;GROWABLE_HEAP_I32()[(buf+16)/4]=stats.blocks;GROWABLE_HEAP_I32()[(buf+20)/4]=stats.bfree;GROWABLE_HEAP_I32()[(buf+24)/4]=stats.bavail;GROWABLE_HEAP_I32()[(buf+28)/4]=stats.files;GROWABLE_HEAP_I32()[(buf+32)/4]=stats.ffree;GROWABLE_HEAP_I32()[(buf+36)/4]=stats.fsid;GROWABLE_HEAP_I32()[(buf+64)/4]=stats.flags;GROWABLE_HEAP_I32()[(buf+48)/4]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,fd,cmd,varargs);varargs=bigintToI53Checked(varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 5:{var arg=syscallGetVarargP();var offset=0;GROWABLE_HEAP_I16()[(arg+offset)/2]=2;return 0}case 6:case 7:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,fd,buf);buf=bigintToI53Checked(buf);try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,0,1,buf,size);buf=bigintToI53Checked(buf);size=bigintToI53Checked(size);try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(sizeabort("");var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(GROWABLE_HEAP_U8()[c]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};var throwBindingError=message=>{throw new BindingError(message)};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>GROWABLE_HEAP_I8()[pointer]:pointer=>GROWABLE_HEAP_U8()[pointer];case 2:return signed?pointer=>GROWABLE_HEAP_I16()[pointer/2]:pointer=>GROWABLE_HEAP_U16()[pointer/2];case 4:return signed?pointer=>GROWABLE_HEAP_I32()[pointer/4]:pointer=>GROWABLE_HEAP_U32()[pointer/4];case 8:return signed?pointer=>HEAP64[pointer/8]:pointer=>HEAPU64[pointer/8];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){primitiveType=bigintToI53Checked(primitiveType);name=bigintToI53Checked(name);size=bigintToI53Checked(size);name=readLatin1String(name);var isUnsignedType=name.indexOf("u")!=-1;if(isUnsignedType){maxRange=(1n<<64n)-1n}registerType(primitiveType,{name,fromWireType:value=>value,toWireType:function(destructors,value){if(typeof value!="bigint"&&typeof value!="number"){throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${this.name}`)}if(typeof value=="number"){value=BigInt(value)}return value},argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})}var GenericWireTypeSize=16;function __embind_register_bool(rawType,name,trueValue,falseValue){rawType=bigintToI53Checked(rawType);name=bigintToI53Checked(name);name=readLatin1String(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](GROWABLE_HEAP_U8()[pointer])},destructorFunction:null})}var emval_freelist=[];var emval_handles=[];function __emval_decref(handle){handle=bigintToI53Checked(handle);if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}}var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};function readPointer(pointer){return this["fromWireType"](Number(HEAPU64[pointer/8]))}var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};function __embind_register_emval(rawType){rawType=bigintToI53Checked(rawType);return registerType(rawType,EmValType)}var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F32()[pointer/4])};case 8:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer/8])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=function(rawType,name,size){rawType=bigintToI53Checked(rawType);name=bigintToI53Checked(name);size=bigintToI53Checked(size);name=readLatin1String(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var createNamedFunction=(name,func)=>Object.defineProperty(func,"name",{value:name});var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i{try{return func()}catch(e){abort(e)}};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD)__emscripten_thread_exit(EXITSTATUS);else _exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(runtimeExited||ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={rewindArguments:{},instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},saveRewindArguments(funcName,passedArguments){return Asyncify.rewindArguments[funcName]=Array.from(passedArguments)},restoreRewindArguments(funcName){return Asyncify.rewindArguments[funcName]||[]},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{Asyncify.saveRewindArguments(x,args);return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:65536,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runtimeKeepalivePush();runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(24+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+24,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU64[ptr/8]=BigInt(stack);HEAPU64[(ptr+8)/8]=BigInt(stack+stackSize)},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);GROWABLE_HEAP_I32()[(ptr+16)/4]=rewindId},getDataRewindFuncName(ptr){var id=GROWABLE_HEAP_I32()[(ptr+16)/4];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);runtimeKeepalivePop();return func(...Asyncify.restoreRewindArguments(name))},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=argTypes[0].name!=="void";var closureArgs=[humanName,throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];for(var i=0;i{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i{throw new InternalError(message)};var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"j");var f=Module["dynCall_"+sig];return f(ptr,...args)};var dynCall=(sig,ptr,args=[],promising=false)=>{for(var i=1;i(...args)=>dynCall(sig,ptr,args,promising);var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync,isNonnullReturn){name=bigintToI53Checked(name);rawArgTypesAddr=bigintToI53Checked(rawArgTypesAddr);signature=bigintToI53Checked(signature);rawInvoker=bigintToI53Checked(rawInvoker);fn=bigintToI53Checked(fn);var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker,isAsync);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){primitiveType=bigintToI53Checked(primitiveType);name=bigintToI53Checked(name);size=bigintToI53Checked(size);name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name,fromWireType,toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){rawType=bigintToI53Checked(rawType);name=bigintToI53Checked(name);var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=Number(HEAPU64[handle/8]);var data=Number(HEAPU64[(handle+8)/8]);return new TA(GROWABLE_HEAP_I8().buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){rawType=bigintToI53Checked(rawType);name=bigintToI53Checked(name);name=readLatin1String(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU64[value/8];var payload=value+8;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i255){_free(base);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+i]=charCode}}}else{GROWABLE_HEAP_U8().set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[(ptr+i*2)/2];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWritestr.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[(ptr+i*4)/4];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr/4]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr/4]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){rawType=bigintToI53Checked(rawType);charSize=bigintToI53Checked(charSize);name=bigintToI53Checked(name);name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>GROWABLE_HEAP_U16()[pointer/2]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>GROWABLE_HEAP_U32()[pointer/4]}registerType(rawType,{name,fromWireType:value=>{var length=Number(HEAPU64[value/8]);var str;var decodeStartPtr=value+8;for(var i=0;i<=length;++i){var currentBytePtr=value+8+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(8+length+charSize);HEAPU64[ptr/8]=BigInt(length/charSize);encodeString(value,ptr+8,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=function(rawType,name){rawType=bigintToI53Checked(rawType);name=bigintToI53Checked(name);name=readLatin1String(name);registerType(rawType,{isVoid:true,name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};function __emscripten_init_main_thread_js(tb){tb=bigintToI53Checked(tb);__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB,63554432,false);PThread.threadInitTLS()}function __emscripten_thread_mailbox_await(pthread_ptr){pthread_ptr=bigintToI53Checked(pthread_ptr);if(typeof Atomics.waitAsync==="function"){var wait=Atomics.waitAsync(GROWABLE_HEAP_I32(),pthread_ptr/4,pthread_ptr);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+228;Atomics.store(GROWABLE_HEAP_I32(),waitingAsync/4,1)}}var checkMailbox=()=>{var pthread_ptr=_pthread_self();if(pthread_ptr){__emscripten_thread_mailbox_await(pthread_ptr);callUserCallback(__emscripten_check_mailbox)}};function __emscripten_notify_mailbox_postmessage(targetThread,currThreadId){targetThread=bigintToI53Checked(targetThread);currThreadId=bigintToI53Checked(currThreadId);if(targetThread==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread,cmd:"checkMailbox"})}else{var worker=PThread.pthreads[targetThread];if(!worker){return}worker.postMessage({cmd:"checkMailbox"})}}var proxiedJSCallArgs=[];function __emscripten_receive_on_main_thread_js(funcIndex,emAsmAddr,callingThread,numCallArgs,args){emAsmAddr=bigintToI53Checked(emAsmAddr);callingThread=bigintToI53Checked(callingThread);args=bigintToI53Checked(args);numCallArgs/=2;proxiedJSCallArgs.length=numCallArgs;var b=args/8;for(var i=0;i{throw Infinity};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr=bigintToI53Checked(tmPtr);var date=new Date(time*1e3);GROWABLE_HEAP_I32()[tmPtr/4]=date.getUTCSeconds();GROWABLE_HEAP_I32()[(tmPtr+4)/4]=date.getUTCMinutes();GROWABLE_HEAP_I32()[(tmPtr+8)/4]=date.getUTCHours();GROWABLE_HEAP_I32()[(tmPtr+12)/4]=date.getUTCDate();GROWABLE_HEAP_I32()[(tmPtr+16)/4]=date.getUTCMonth();GROWABLE_HEAP_I32()[(tmPtr+20)/4]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[(tmPtr+24)/4]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[(tmPtr+28)/4]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr=bigintToI53Checked(tmPtr);var date=new Date(time*1e3);GROWABLE_HEAP_I32()[tmPtr/4]=date.getSeconds();GROWABLE_HEAP_I32()[(tmPtr+4)/4]=date.getMinutes();GROWABLE_HEAP_I32()[(tmPtr+8)/4]=date.getHours();GROWABLE_HEAP_I32()[(tmPtr+12)/4]=date.getDate();GROWABLE_HEAP_I32()[(tmPtr+16)/4]=date.getMonth();GROWABLE_HEAP_I32()[(tmPtr+20)/4]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[(tmPtr+24)/4]=date.getDay();var yday=ydayFromDate(date)|0;GROWABLE_HEAP_I32()[(tmPtr+28)/4]=yday;HEAP64[(tmPtr+40)/8]=BigInt(-(date.getTimezoneOffset()*60));var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;GROWABLE_HEAP_I32()[(tmPtr+32)/4]=dst}var __mktime_js=function(tmPtr){tmPtr=bigintToI53Checked(tmPtr);var ret=(()=>{var date=new Date(GROWABLE_HEAP_I32()[(tmPtr+20)/4]+1900,GROWABLE_HEAP_I32()[(tmPtr+16)/4],GROWABLE_HEAP_I32()[(tmPtr+12)/4],GROWABLE_HEAP_I32()[(tmPtr+8)/4],GROWABLE_HEAP_I32()[(tmPtr+4)/4],GROWABLE_HEAP_I32()[tmPtr/4],0);var dst=GROWABLE_HEAP_I32()[(tmPtr+32)/4];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){GROWABLE_HEAP_I32()[(tmPtr+32)/4]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}GROWABLE_HEAP_I32()[(tmPtr+24)/4]=date.getDay();var yday=ydayFromDate(date)|0;GROWABLE_HEAP_I32()[(tmPtr+28)/4]=yday;GROWABLE_HEAP_I32()[tmPtr/4]=date.getSeconds();GROWABLE_HEAP_I32()[(tmPtr+4)/4]=date.getMinutes();GROWABLE_HEAP_I32()[(tmPtr+8)/4]=date.getHours();GROWABLE_HEAP_I32()[(tmPtr+12)/4]=date.getDate();GROWABLE_HEAP_I32()[(tmPtr+16)/4]=date.getMonth();GROWABLE_HEAP_I32()[(tmPtr+20)/4]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return BigInt(ret)};function __mmap_js(len,prot,flags,fd,offset,allocated,addr){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(16,0,1,len,prot,flags,fd,offset,allocated,addr);len=bigintToI53Checked(len);offset=bigintToI53Checked(offset);allocated=bigintToI53Checked(allocated);addr=bigintToI53Checked(addr);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;GROWABLE_HEAP_I32()[allocated/4]=res.allocated;HEAPU64[addr/8]=BigInt(ptr);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(17,0,1,addr,len,prot,flags,fd,offset);addr=bigintToI53Checked(addr);len=bigintToI53Checked(len);offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __timegm_js=function(tmPtr){tmPtr=bigintToI53Checked(tmPtr);var ret=(()=>{var time=Date.UTC(GROWABLE_HEAP_I32()[(tmPtr+20)/4]+1900,GROWABLE_HEAP_I32()[(tmPtr+16)/4],GROWABLE_HEAP_I32()[(tmPtr+12)/4],GROWABLE_HEAP_I32()[(tmPtr+8)/4],GROWABLE_HEAP_I32()[(tmPtr+4)/4],GROWABLE_HEAP_I32()[tmPtr/4],0);var date=new Date(time);GROWABLE_HEAP_I32()[(tmPtr+24)/4]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[(tmPtr+28)/4]=yday;return date.getTime()/1e3})();return BigInt(ret)};var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone=bigintToI53Checked(timezone);daylight=bigintToI53Checked(daylight);std_name=bigintToI53Checked(std_name);dst_name=bigintToI53Checked(dst_name);var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU64[timezone/8]=BigInt(stdTimezoneOffset*60);GROWABLE_HEAP_I32()[daylight/4]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetperformance.timeOrigin+performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime=bigintToI53Checked(ptime);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime/8]=BigInt(nsec);return 0}var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var wide=ch!=105;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?Number(HEAPU64[buf/8]):ch==106?HEAP64[buf/8]:ch==105?GROWABLE_HEAP_I32()[buf/4]:GROWABLE_HEAP_F64()[buf/8]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};function _emscripten_asm_const_int(code,sigPtr,argbuf){code=bigintToI53Checked(code);sigPtr=bigintToI53Checked(sigPtr);argbuf=bigintToI53Checked(argbuf);return runEmAsmFunction(code,sigPtr,argbuf)}var _emscripten_check_blocking_allowed=()=>{};function _emscripten_errn(str,len){str=bigintToI53Checked(str);len=bigintToI53Checked(len);return err(UTF8ToString(str,len))}var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var maybeCStringToJsString=cString=>cString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):null);return domElement};var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};function _emscripten_get_element_css_size(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(18,0,1,target,width,height);target=bigintToI53Checked(target);width=bigintToI53Checked(width);height=bigintToI53Checked(height);target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);GROWABLE_HEAP_F64()[width/8]=rect.width;GROWABLE_HEAP_F64()[height/8]=rect.height;return 0}var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>BigInt(getHeapMax());var _emscripten_num_logical_cores=()=>ENVIRONMENT_IS_NODE?require("os").cpus().length:navigator["hardwareConcurrency"];var _emscripten_pc_get_function=function(pc){pc=bigintToI53Checked(pc);var ret=(()=>{abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0})();return BigInt(ret)};var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(BigInt(pages));updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize=bigintToI53Checked(requestedSize);var oldSize=GROWABLE_HEAP_U8().length;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var onExits=[];var addOnExit=cb=>onExits.push(cb);var JSEvents={memcpy(target,src,size){GROWABLE_HEAP_I8().set(GROWABLE_HEAP_I8().subarray(src,src+size),target)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){addOnExit(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;i{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;GROWABLE_HEAP_I8()[eventStruct]=isFullscreen;GROWABLE_HEAP_I8()[eventStruct+1]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);GROWABLE_HEAP_I32()[(eventStruct+260)/4]=reportedElement?reportedElement.clientWidth:0;GROWABLE_HEAP_I32()[(eventStruct+264)/4]=reportedElement?reportedElement.clientHeight:0;GROWABLE_HEAP_I32()[(eventStruct+268)/4]=screen.width;GROWABLE_HEAP_I32()[(eventStruct+272)/4]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{targetThread=JSEvents.getTargetThreadForEventCallback(targetThread);JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=targetThread?_malloc(276):JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(targetThread)__emscripten_run_callback_on_thread(targetThread,callbackfunc,eventTypeId,fullscreenChangeEvent,userData);else if(((a1,a2,a3)=>dynCall_iijj(callbackfunc,a1,BigInt(a2),BigInt(a3)))(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(19,0,1,target,userData,useCapture,callbackfunc,targetThread);target=bigintToI53Checked(target);userData=bigintToI53Checked(userData);callbackfunc=bigintToI53Checked(callbackfunc);targetThread=bigintToI53Checked(targetThread);if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}var _emscripten_set_main_loop_timing=(mode,value)=>{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){runtimeKeepalivePush();MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};var MainLoop={running:false,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 timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var _emscripten_set_main_loop=function(func,fps,simulateInfiniteLoop){func=bigintToI53Checked(func);var iterFunc=()=>dynCall_v(func);setMainLoop(iterFunc,fps,simulateInfiniteLoop)};var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{targetThread=JSEvents.getTargetThreadForEventCallback(targetThread);JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=targetThread?_malloc(36):JSEvents.uiEvent;GROWABLE_HEAP_I32()[uiEvent/4]=0;GROWABLE_HEAP_I32()[(uiEvent+4)/4]=b.clientWidth;GROWABLE_HEAP_I32()[(uiEvent+8)/4]=b.clientHeight;GROWABLE_HEAP_I32()[(uiEvent+12)/4]=innerWidth;GROWABLE_HEAP_I32()[(uiEvent+16)/4]=innerHeight;GROWABLE_HEAP_I32()[(uiEvent+20)/4]=outerWidth;GROWABLE_HEAP_I32()[(uiEvent+24)/4]=outerHeight;GROWABLE_HEAP_I32()[(uiEvent+28)/4]=pageXOffset|0;GROWABLE_HEAP_I32()[(uiEvent+32)/4]=pageYOffset|0;if(targetThread)__emscripten_run_callback_on_thread(targetThread,callbackfunc,eventTypeId,uiEvent,userData);else if(((a1,a2,a3)=>dynCall_iijj(callbackfunc,a1,BigInt(a2),BigInt(a3)))(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(20,0,1,target,userData,useCapture,callbackfunc,targetThread);target=bigintToI53Checked(target);userData=bigintToI53Checked(userData);callbackfunc=bigintToI53Checked(callbackfunc);targetThread=bigintToI53Checked(targetThread);return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}var fillMouseEventData=(eventStruct,e,target)=>{GROWABLE_HEAP_F64()[eventStruct/8]=e.timeStamp;var idx=eventStruct/4;GROWABLE_HEAP_I32()[idx+2]=e.screenX;GROWABLE_HEAP_I32()[idx+3]=e.screenY;GROWABLE_HEAP_I32()[idx+4]=e.clientX;GROWABLE_HEAP_I32()[idx+5]=e.clientY;GROWABLE_HEAP_I8()[eventStruct+24]=e.ctrlKey;GROWABLE_HEAP_I8()[eventStruct+25]=e.shiftKey;GROWABLE_HEAP_I8()[eventStruct+26]=e.altKey;GROWABLE_HEAP_I8()[eventStruct+27]=e.metaKey;GROWABLE_HEAP_I16()[idx*2+14]=e.button;GROWABLE_HEAP_I16()[idx*2+15]=e.buttons;GROWABLE_HEAP_I32()[idx+8]=e["movementX"];GROWABLE_HEAP_I32()[idx+9]=e["movementY"];var rect=getBoundingClientRect(target);GROWABLE_HEAP_I32()[idx+10]=e.clientX-(rect.left|0);GROWABLE_HEAP_I32()[idx+11]=e.clientY-(rect.top|0)};var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{targetThread=JSEvents.getTargetThreadForEventCallback(targetThread);JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=targetThread?_malloc(96):JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);GROWABLE_HEAP_F64()[(wheelEvent+64)/8]=e["deltaX"];GROWABLE_HEAP_F64()[(wheelEvent+72)/8]=e["deltaY"];GROWABLE_HEAP_F64()[(wheelEvent+80)/8]=e["deltaZ"];GROWABLE_HEAP_I32()[(wheelEvent+88)/4]=e["deltaMode"];if(targetThread)__emscripten_run_callback_on_thread(targetThread,callbackfunc,eventTypeId,wheelEvent,userData);else if(((a1,a2,a3)=>dynCall_iijj(callbackfunc,a1,BigInt(a2),BigInt(a3)))(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(21,0,1,target,userData,useCapture,callbackfunc,targetThread);target=bigintToI53Checked(target);userData=bigintToI53Checked(userData);callbackfunc=bigintToI53Checked(callbackfunc);targetThread=bigintToI53Checked(targetThread);target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};var UNWIND_CACHE={};var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};var jsStackTrace=()=>(new Error).stack.toString();var _emscripten_stack_snapshot=function(){var ret=(()=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr})();return BigInt(ret)};function _emscripten_stack_unwind_buffer(addr,buffer,count){addr=bigintToI53Checked(addr);buffer=bigintToI53Checked(buffer);var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var WebGPU={errorCallback:(callback,type,message,userdata)=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(message);((a1,a2,a3)=>dynCall_vijj(callback,a1,BigInt(a2),BigInt(a3)))(type,messagePtr,userdata);stackRestore(sp)},initManagers:()=>{function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper={}){var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=new Manager;WebGPU.mgrSwapChain=new Manager;WebGPU.mgrAdapter=new Manager;WebGPU.mgrDevice=new Manager;WebGPU.mgrQueue=new Manager;WebGPU.mgrCommandBuffer=new Manager;WebGPU.mgrCommandEncoder=new Manager;WebGPU.mgrRenderPassEncoder=new Manager;WebGPU.mgrComputePassEncoder=new Manager;WebGPU.mgrBindGroup=new Manager;WebGPU.mgrBuffer=new Manager;WebGPU.mgrSampler=new Manager;WebGPU.mgrTexture=new Manager;WebGPU.mgrTextureView=new Manager;WebGPU.mgrQuerySet=new Manager;WebGPU.mgrBindGroupLayout=new Manager;WebGPU.mgrPipelineLayout=new Manager;WebGPU.mgrRenderPipeline=new Manager;WebGPU.mgrComputePipeline=new Manager;WebGPU.mgrShaderModule=new Manager;WebGPU.mgrRenderBundleEncoder=new Manager;WebGPU.mgrRenderBundle=new Manager},makeColor:ptr=>({r:GROWABLE_HEAP_F64()[ptr/8],g:GROWABLE_HEAP_F64()[(ptr+8)/8],b:GROWABLE_HEAP_F64()[(ptr+16)/8],a:GROWABLE_HEAP_F64()[(ptr+24)/8]}),makeExtent3D:ptr=>({width:GROWABLE_HEAP_U32()[ptr/4],height:GROWABLE_HEAP_U32()[(ptr+4)/4],depthOrArrayLayers:GROWABLE_HEAP_U32()[(ptr+8)/4]}),makeOrigin3D:ptr=>({x:GROWABLE_HEAP_U32()[ptr/4],y:GROWABLE_HEAP_U32()[(ptr+4)/4],z:GROWABLE_HEAP_U32()[(ptr+8)/4]}),makeImageCopyTexture:ptr=>({texture:WebGPU.mgrTexture.get(Number(HEAPU64[(ptr+8)/8])),mipLevel:GROWABLE_HEAP_U32()[(ptr+16)/4],origin:WebGPU.makeOrigin3D(ptr+20),aspect:WebGPU.TextureAspect[GROWABLE_HEAP_U32()[(ptr+32)/4]]}),makeTextureDataLayout:ptr=>{var bytesPerRow=GROWABLE_HEAP_U32()[(ptr+16)/4];var rowsPerImage=GROWABLE_HEAP_U32()[(ptr+20)/4];return{offset:GROWABLE_HEAP_U32()[(ptr+4+8)/4]*4294967296+GROWABLE_HEAP_U32()[(ptr+8)/4],bytesPerRow:bytesPerRow===4294967295?undefined:bytesPerRow,rowsPerImage:rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:ptr=>{var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(Number(HEAPU64[(ptr+32)/8]));return bufferCopyView},makePipelineConstants:(constantCount,constantsPtr)=>{if(!constantCount)return;var constants={};for(var i=0;i{if(!layoutPtr)return"auto";return WebGPU.mgrPipelineLayout.get(layoutPtr)},makeProgrammableStageDescriptor:ptr=>{if(!ptr)return undefined;var desc={module:WebGPU.mgrShaderModule.get(Number(HEAPU64[(ptr+8)/8])),constants:WebGPU.makePipelineConstants(GROWABLE_HEAP_U32()[(ptr+24)/4],Number(HEAPU64[(ptr+32)/8]))};var entryPointPtr=Number(HEAPU64[(ptr+16)/8]);if(entryPointPtr)desc["entryPoint"]=UTF8ToString(entryPointPtr);return desc},fillLimitStruct:(limits,supportedLimitsOutPtr)=>{var limitsOutPtr=supportedLimitsOutPtr+8;function setLimitValueU32(name,limitOffset){var limitValue=limits[name];GROWABLE_HEAP_I32()[(limitsOutPtr+limitOffset)/4]=limitValue}function setLimitValueU64(name,limitOffset){var limitValue=limits[name];HEAP64[(limitsOutPtr+limitOffset)/8]=BigInt(limitValue)}setLimitValueU32("maxTextureDimension1D",0);setLimitValueU32("maxTextureDimension2D",4);setLimitValueU32("maxTextureDimension3D",8);setLimitValueU32("maxTextureArrayLayers",12);setLimitValueU32("maxBindGroups",16);setLimitValueU32("maxBindGroupsPlusVertexBuffers",20);setLimitValueU32("maxBindingsPerBindGroup",24);setLimitValueU32("maxDynamicUniformBuffersPerPipelineLayout",28);setLimitValueU32("maxDynamicStorageBuffersPerPipelineLayout",32);setLimitValueU32("maxSampledTexturesPerShaderStage",36);setLimitValueU32("maxSamplersPerShaderStage",40);setLimitValueU32("maxStorageBuffersPerShaderStage",44);setLimitValueU32("maxStorageTexturesPerShaderStage",48);setLimitValueU32("maxUniformBuffersPerShaderStage",52);setLimitValueU32("minUniformBufferOffsetAlignment",72);setLimitValueU32("minStorageBufferOffsetAlignment",76);setLimitValueU64("maxUniformBufferBindingSize",56);setLimitValueU64("maxStorageBufferBindingSize",64);setLimitValueU32("maxVertexBuffers",80);setLimitValueU64("maxBufferSize",88);setLimitValueU32("maxVertexAttributes",96);setLimitValueU32("maxVertexBufferArrayStride",100);setLimitValueU32("maxInterStageShaderComponents",104);setLimitValueU32("maxInterStageShaderVariables",108);setLimitValueU32("maxColorAttachments",112);setLimitValueU32("maxColorAttachmentBytesPerSample",116);setLimitValueU32("maxComputeWorkgroupStorageSize",120);setLimitValueU32("maxComputeInvocationsPerWorkgroup",124);setLimitValueU32("maxComputeWorkgroupSizeX",128);setLimitValueU32("maxComputeWorkgroupSizeY",132);setLimitValueU32("maxComputeWorkgroupSizeZ",136);setLimitValueU32("maxComputeWorkgroupsPerDimension",140)},Int_BufferMapState:{unmapped:1,pending:2,mapped:3},Int_CompilationMessageType:{error:1,warning:2,info:3},Int_DeviceLostReason:{undefined:1,unknown:1,destroyed:2},Int_PreferredFormat:{rgba8unorm:18,bgra8unorm:23},WGSLFeatureName:[,"readonly_and_readwrite_storage_textures","packed_4x8_integer_dot_product","unrestricted_pointer_parameters","pointer_composite_access"],AddressMode:[,"clamp-to-edge","repeat","mirror-repeat"],AlphaMode:[,"opaque","premultiplied"],BlendFactor:[,"zero","one","src","one-minus-src","src-alpha","one-minus-src-alpha","dst","one-minus-dst","dst-alpha","one-minus-dst-alpha","src-alpha-saturated","constant","one-minus-constant"],BlendOperation:[,"add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],BufferMapState:{1:"unmapped",2:"pending",3:"mapped"},CompareFunction:[,"never","less","equal","less-equal","greater","not-equal","greater-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],CullMode:[,"none","front","back"],ErrorFilter:{1:"validation",2:"out-of-memory",3:"internal"},FeatureName:[,"depth-clip-control","depth32float-stencil8","timestamp-query","texture-compression-bc","texture-compression-etc2","texture-compression-astc","indirect-first-instance","shader-f16","rg11b10ufloat-renderable","bgra8unorm-storage","float32-filterable"],FilterMode:[,"nearest","linear"],FrontFace:[,"ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],MipmapFilterMode:[,"nearest","linear"],PowerPreference:[,"low-power","high-performance"],PrimitiveTopology:[,"point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:{1:"occlusion",2:"timestamp"},SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:[,"keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only","read-only","read-write"],StoreOp:[,"store","discard"],TextureAspect:[,"all","stencil-only","depth-only"],TextureDimension:[,"1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],TextureSampleType:[,"float","unfilterable-float","depth","sint","uint"],TextureViewDimension:[,"1d","2d","2d-array","cube","cube-array","3d"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2"],VertexStepMode:[,"vertex-buffer-not-used","vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth32float-stencil8":"2","timestamp-query":"3","texture-compression-bc":"4","texture-compression-etc2":"5","texture-compression-astc":"6","indirect-first-instance":"7","shader-f16":"8","rg11b10ufloat-renderable":"9","bgra8unorm-storage":"10","float32-filterable":"11"}};var _emscripten_webgpu_get_device=function(){var ret=(()=>{if(WebGPU.preinitializedDeviceId===undefined){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};WebGPU.preinitializedDeviceId=WebGPU.mgrDevice.create(device,deviceWrapper)}WebGPU.mgrDevice.reference(WebGPU.preinitializedDeviceId);return WebGPU.preinitializedDeviceId})();return BigInt(ret)};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(22,0,1,__environ,environ_buf);__environ=bigintToI53Checked(__environ);environ_buf=bigintToI53Checked(environ_buf);var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU64[(__environ+envp)/8]=BigInt(ptr);bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=8}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(23,0,1,penviron_count,penviron_buf_size);penviron_count=bigintToI53Checked(penviron_count);penviron_buf_size=bigintToI53Checked(penviron_buf_size);var strings=getEnvStrings();HEAPU64[penviron_count/8]=BigInt(strings.length);var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU64[penviron_buf_size/8]=BigInt(bufSize);return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(24,0,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i{var ret=0;for(var i=0;i{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i{var source="";for(var i=0;i{var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=_malloc(16);HEAPU64[(handle+8)/8]=BigInt(_pthread_self());var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);var img=new Image;img.onload=()=>{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=GROWABLE_HEAP_U32()[SDL.screen/4];flags=flags|8388608;GROWABLE_HEAP_I32()[SDL.screen/4]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=GROWABLE_HEAP_U32()[SDL.screen/4];flags=flags&~8388608;GROWABLE_HEAP_I32()[SDL.screen/4]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};function _emscripten_set_window_title(title){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(28,0,1,title);title=bigintToI53Checked(title);return document.title=UTF8ToString(title)}var GLFW={WindowFromId:id=>{if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:0,errorFunc:0,monitorFunc:0,active:null,scale:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,devicePixelRatioMQL:null,hints:null,primaryTouchId:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,131082:0,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0,139276:0},DOMToGLFWKeyCode:keycode=>{switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 96;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 224:return 343;case 93:return 348;default:return-1}},getModBits:win=>{var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343]||win.keys[348])mod|=8;return mod},onKeyPress:event=>{if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;((a1,a2)=>dynCall_vji(GLFW.active.charFunc,BigInt(a1),a2))(GLFW.active.id,charCode)},onKeyChanged:(keyCode,status)=>{if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(GLFW.active.keyFunc){if(repeat)status=2;((a1,a2,a3,a4,a5)=>dynCall_vjiiii(GLFW.active.keyFunc,BigInt(a1),a2,a3,a4,a5))(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))}},onGamepadConnected:event=>{GLFW.refreshJoysticks()},onGamepadDisconnected:event=>{GLFW.refreshJoysticks()},onKeydown:event=>{GLFW.onKeyChanged(event.keyCode,1);if(event.key=="Backspace"||event.key=="Tab"){event.preventDefault()}},onKeyup:event=>{GLFW.onKeyChanged(event.keyCode,0)},onBlur:event=>{if(!GLFW.active)return;for(var i=0;i{if(!GLFW.active)return;if(event.type==="touchmove"){event.preventDefault();let primaryChanged=false;for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){Browser.setMouseCoords(i.pageX,i.pageY);primaryChanged=true;break}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event)}if(event.target!=Browser.getCanvas()||!GLFW.active.cursorPosFunc)return;if(GLFW.active.cursorPosFunc){((a1,a2,a3)=>dynCall_vjdd(GLFW.active.cursorPosFunc,BigInt(a1),a2,a3))(GLFW.active.id,Browser.mouseX,Browser.mouseY)}},DOMToGLFWMouseButton:event=>{var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:event=>{if(!GLFW.active)return;if(event.target!=Browser.getCanvas())return;if(GLFW.active.cursorEnterFunc){((a1,a2)=>dynCall_vji(GLFW.active.cursorEnterFunc,BigInt(a1),a2))(GLFW.active.id,1)}},onMouseleave:event=>{if(!GLFW.active)return;if(event.target!=Browser.getCanvas())return;if(GLFW.active.cursorEnterFunc){((a1,a2)=>dynCall_vji(GLFW.active.cursorEnterFunc,BigInt(a1),a2))(GLFW.active.id,0)}},onMouseButtonChanged:(event,status)=>{if(!GLFW.active)return;if(event.target!=Browser.getCanvas())return;const isTouchType=event.type==="touchstart"||event.type==="touchend"||event.type==="touchcancel";let eventButton=0;if(isTouchType){event.preventDefault();let primaryChanged=false;if(GLFW.primaryTouchId===null&&event.type==="touchstart"&&event.targetTouches.length>0){const chosenTouch=event.targetTouches[0];GLFW.primaryTouchId=chosenTouch.identifier;Browser.setMouseCoords(chosenTouch.pageX,chosenTouch.pageY);primaryChanged=true}else if(event.type==="touchend"||event.type==="touchcancel"){for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){GLFW.primaryTouchId=null;primaryChanged=true;break}}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event);eventButton=GLFW.DOMToGLFWMouseButton(event)}if(status==1){GLFW.active.buttons|=1<dynCall_vjiii(GLFW.active.mouseButtonFunc,BigInt(a1),a2,a3,a4))(GLFW.active.id,eventButton,status,GLFW.getModBits(GLFW.active))}},onMouseButtonDown:event=>{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:event=>{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:event=>{var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Browser.getCanvas())return;var sx=0;var sy=delta;if(event.type=="mousewheel"){sx=event.wheelDeltaX}else{sx=event.deltaX}((a1,a2,a3)=>dynCall_vjdd(GLFW.active.scrollFunc,BigInt(a1),a2,a3))(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:(width,height,framebufferWidth,framebufferHeight)=>{if(!GLFW.active)return;var resizeNeeded=false;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){if(!GLFW.active.fullscreen){resizeNeeded=width!=screen.width||height!=screen.height;GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}}else if(GLFW.active.fullscreen==true){resizeNeeded=width!=GLFW.active.storedWidth||height!=GLFW.active.storedHeight;GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height)}else if(GLFW.active.width!=width||GLFW.active.height!=height||GLFW.active.framebufferWidth!=framebufferWidth||GLFW.active.framebufferHeight!=framebufferHeight){GLFW.active.width=width;GLFW.active.height=height;GLFW.active.framebufferWidth=framebufferWidth;GLFW.active.framebufferHeight=framebufferHeight;GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.windowSizeFunc){((a1,a2,a3)=>dynCall_vjii(GLFW.active.windowSizeFunc,BigInt(a1),a2,a3))(GLFW.active.id,GLFW.active.width,GLFW.active.height)}},onFramebufferSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.framebufferSizeFunc){((a1,a2,a3)=>dynCall_vjii(GLFW.active.framebufferSizeFunc,BigInt(a1),a2,a3))(GLFW.active.id,GLFW.active.framebufferWidth,GLFW.active.framebufferHeight)}},onWindowContentScaleChanged:scale=>{GLFW.scale=scale;if(!GLFW.active)return;if(GLFW.active.windowContentScaleFunc){((a1,a2,a3)=>{})(GLFW.active.id,GLFW.scale,GLFW.scale)}},getTime:()=>_emscripten_get_now()/1e3,setWindowTitle:(winid,title)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.title=title;if(GLFW.active.id==win.id){_emscripten_set_window_title(title)}},setJoystickCallback:cbfun=>{var prevcbfun=GLFW.joystickFunc;GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks();return prevcbfun},joys:{},lastGamepadState:[],lastGamepadStateFrame:null,refreshJoysticks:()=>{if(MainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!MainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads||[];GLFW.lastGamepadStateFrame=MainLoop.currentFrameNumber;for(var joy=0;joy{})(joy,262145)}}var data=GLFW.joys[joy];for(var i=0;i{})(joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.keyFunc;win.keyFunc=cbfun;return prevcbfun},setCharCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.charFunc;win.charFunc=cbfun;return prevcbfun},setMouseButtonCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.mouseButtonFunc;win.mouseButtonFunc=cbfun;return prevcbfun},setCursorPosCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorPosFunc;win.cursorPosFunc=cbfun;return prevcbfun},setScrollCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.scrollFunc;win.scrollFunc=cbfun;return prevcbfun},setDropCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.dropFunc;win.dropFunc=cbfun;return prevcbfun},onDrop:event=>{if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=_malloc(event.dataTransfer.files.length*8);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=e=>{if(reader.readyState!=2){++written;out("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){((a1,a2,a3)=>dynCall_vjij(GLFW.active.dropFunc,BigInt(a1),a2,BigInt(a3)))(GLFW.active.id,count,filenames);for(var i=0;i{if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowSizeFunc;win.windowSizeFunc=cbfun;return prevcbfun},setWindowCloseCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowCloseFunc;win.windowCloseFunc=cbfun;return prevcbfun},setWindowRefreshCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowRefreshFunc;win.windowRefreshFunc=cbfun;return prevcbfun},onClickRequestPointerLock:e=>{var canvas=Browser.getCanvas();if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();e.preventDefault()}},setInputMode:(winid,mode,value)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{var canvas=Browser.getCanvas();switch(value){case 212993:{win.inputModes[mode]=value;canvas.removeEventListener("click",GLFW.onClickRequestPointerLock,true);canvas.exitPointerLock();break}case 212994:{err("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented");break}case 212995:{win.inputModes[mode]=value;canvas.addEventListener("click",GLFW.onClickRequestPointerLock,true);canvas.requestPointerLock();break}default:{err(`glfwSetInputMode called with unknown value parameter value: ${value}`);break}}break}case 208898:{err("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented");break}case 208899:{err("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented");break}case 208900:{err("glfwSetInputMode called with GLFW_LOCK_KEY_MODS mode not implemented");break}case 3342341:{err("glfwSetInputMode called with GLFW_RAW_MOUSE_MOTION mode not implemented");break}default:{err(`glfwSetInputMode called with unknown mode parameter value: ${mode}`);break}}},getKey:(winid,key)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:(winid,button)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<0},getCursorPos:(winid,x,y)=>{GROWABLE_HEAP_F64()[x/8]=Browser.mouseX;GROWABLE_HEAP_F64()[y/8]=Browser.mouseY},getMousePos:(winid,x,y)=>{GROWABLE_HEAP_I32()[x/4]=Browser.mouseX;GROWABLE_HEAP_I32()[y/4]=Browser.mouseY},setCursorPos:(winid,x,y)=>{},getWindowPos:(winid,x,y)=>{var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){GROWABLE_HEAP_I32()[x/4]=wx}if(y){GROWABLE_HEAP_I32()[y/4]=wy}},setWindowPos:(winid,x,y)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){GROWABLE_HEAP_I32()[width/4]=ww}if(height){GROWABLE_HEAP_I32()[height/4]=wh}},setWindowSize:(winid,width,height)=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){Browser.setCanvasSize(width,height)}},defaultWindowHints:()=>{GLFW.hints={...GLFW.defaultHints}},createWindow:(width,height,title,monitor,share)=>{var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Browser.createContext(canvas,true,true,contextAttributes)}else{Browser.init()}}if(!Module["ctx"]&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,canvas.width,canvas.height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;GLFW.adjustCanvasDimensions();return win.id},destroyWindow:winid=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc){(a1=>dynCall_vj(win.windowCloseFunc,BigInt(a1)))(win.id)}GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id){GLFW.active=null}for(win of GLFW.windows){if(win!==null)return}delete Module["ctx"]},swapBuffers:winid=>{},requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},updateCanvasDimensions(canvas,wNative,hNative){const scale=GLFW.getHiDPIScale();if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{var win=GLFW.WindowFromId(winid);if(!win)return;const isHiDPIAware=GLFW.isHiDPIAware();win.attributes[attrib]=value;if(isHiDPIAware!==GLFW.isHiDPIAware())GLFW.adjustCanvasDimensions()},getDevicePixelRatio(){return typeof devicePixelRatio=="number"&&devicePixelRatio||1},isHiDPIAware(){if(GLFW.active)return GLFW.active.attributes[139276]>0;else return false},isCSSScalingEnabled(){return!GLFW.isHiDPIAware()},adjustCanvasDimensions(){if(GLFW.active){Browser.updateCanvasDimensions(Browser.getCanvas(),GLFW.active.width,GLFW.active.height);Browser.updateResizeListeners()}},getHiDPIScale(){return GLFW.isHiDPIAware()?GLFW.scale:1},onDevicePixelRatioChange(){GLFW.onWindowContentScaleChanged(GLFW.getDevicePixelRatio());GLFW.adjustCanvasDimensions()},GLFW2ParamToGLFW3Param:param=>{var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};var _glfwCreateStandardCursor=shape=>BigInt(0);var _glfwCreateWindow=(width,height,title,monitor,share)=>{title=bigintToI53Checked(title);monitor=bigintToI53Checked(monitor);share=bigintToI53Checked(share);return BigInt(GLFW.createWindow(width,height,title,monitor,share))};function _glfwDestroyCursor(cursor){cursor=bigintToI53Checked(cursor);return 0}function _glfwDestroyWindow(winid){winid=bigintToI53Checked(winid);return GLFW.destroyWindow(winid)}var _glfwGetClipboardString=win=>{win=bigintToI53Checked(win);return BigInt(0)};function _glfwGetCursorPos(winid,x,y){winid=bigintToI53Checked(winid);x=bigintToI53Checked(x);y=bigintToI53Checked(y);return GLFW.getCursorPos(winid,x,y)}function _glfwGetFramebufferSize(winid,width,height){winid=bigintToI53Checked(winid);width=bigintToI53Checked(width);height=bigintToI53Checked(height);var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.framebufferWidth;wh=win.framebufferHeight}if(width){GROWABLE_HEAP_I32()[width/4]=ww}if(height){GROWABLE_HEAP_I32()[height/4]=wh}}function _glfwGetInputMode(winid,mode){winid=bigintToI53Checked(winid);var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{if(Browser.pointerLock){win.inputModes[mode]=212995}else{win.inputModes[mode]=212993}}}return win.inputModes[mode]}var _glfwGetJoystickAxes=function(joy,count){count=bigintToI53Checked(count);var ret=(()=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.axes){GROWABLE_HEAP_I32()[count/4]=0;return}GROWABLE_HEAP_I32()[count/4]=state.axesCount;return state.axes})();return BigInt(ret)};var _glfwGetJoystickButtons=function(joy,count){count=bigintToI53Checked(count);var ret=(()=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.buttons){GROWABLE_HEAP_I32()[count/4]=0;return}GROWABLE_HEAP_I32()[count/4]=state.buttonsCount;return state.buttons})();return BigInt(ret)};function _glfwGetKey(winid,key){winid=bigintToI53Checked(winid);return GLFW.getKey(winid,key)}var _glfwGetTime=()=>GLFW.getTime()-GLFW.initialTime;function _glfwGetWindowAttrib(winid,attrib){winid=bigintToI53Checked(winid);var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.attributes[attrib]}function _glfwGetWindowSize(winid,width,height){winid=bigintToI53Checked(winid);width=bigintToI53Checked(width);height=bigintToI53Checked(height);return GLFW.getWindowSize(winid,width,height)}var _glfwInit=()=>{if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.defaultWindowHints();GLFW.windows=new Array;GLFW.active=null;GLFW.scale=GLFW.getDevicePixelRatio();window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);GLFW.devicePixelRatioMQL=window.matchMedia("(resolution: "+GLFW.getDevicePixelRatio()+"dppx)");GLFW.devicePixelRatioMQL.addEventListener("change",GLFW.onDevicePixelRatioChange);var canvas=Browser.getCanvas();canvas.addEventListener("touchmove",GLFW.onMousemove,true);canvas.addEventListener("touchstart",GLFW.onMouseButtonDown,true);canvas.addEventListener("touchcancel",GLFW.onMouseButtonUp,true);canvas.addEventListener("touchend",GLFW.onMouseButtonUp,true);canvas.addEventListener("mousemove",GLFW.onMousemove,true);canvas.addEventListener("mousedown",GLFW.onMouseButtonDown,true);canvas.addEventListener("mouseup",GLFW.onMouseButtonUp,true);canvas.addEventListener("wheel",GLFW.onMouseWheel,true);canvas.addEventListener("mousewheel",GLFW.onMouseWheel,true);canvas.addEventListener("mouseenter",GLFW.onMouseenter,true);canvas.addEventListener("mouseleave",GLFW.onMouseleave,true);canvas.addEventListener("drop",GLFW.onDrop,true);canvas.addEventListener("dragover",GLFW.onDragover,true);Browser.requestFullscreen=GLFW.requestFullscreen;Browser.calculateMouseCoords=GLFW.calculateMouseCoords;Browser.updateCanvasDimensions=GLFW.updateCanvasDimensions;Browser.resizeListeners.push((width,height)=>{if(GLFW.isHiDPIAware()){var canvas=Browser.getCanvas();GLFW.onCanvasResize(canvas.clientWidth,canvas.clientHeight,width,height)}else{GLFW.onCanvasResize(width,height,width,height)}});return 1};var _glfwPollEvents=()=>0;var _glfwSetCharCallback=(winid,cbfun)=>{winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);return BigInt(GLFW.setCharCallback(winid,cbfun))};function _glfwSetClipboardString(win,string){win=bigintToI53Checked(win);string=bigintToI53Checked(string);return 0}function _glfwSetCursor(winid,cursor){winid=bigintToI53Checked(winid);cursor=bigintToI53Checked(cursor);return 0}var _glfwSetCursorEnterCallback=function(winid,cbfun){winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);var ret=(()=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorEnterFunc;win.cursorEnterFunc=cbfun;return prevcbfun})();return BigInt(ret)};function _glfwSetCursorPos(winid,x,y){winid=bigintToI53Checked(winid);return GLFW.setCursorPos(winid,x,y)}var _glfwSetCursorPosCallback=(winid,cbfun)=>{winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);return BigInt(GLFW.setCursorPosCallback(winid,cbfun))};var _glfwSetErrorCallback=function(cbfun){cbfun=bigintToI53Checked(cbfun);var ret=(()=>{var prevcbfun=GLFW.errorFunc;GLFW.errorFunc=cbfun;return prevcbfun})();return BigInt(ret)};function _glfwSetInputMode(winid,mode,value){winid=bigintToI53Checked(winid);GLFW.setInputMode(winid,mode,value)}var _glfwSetKeyCallback=(winid,cbfun)=>{winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);return BigInt(GLFW.setKeyCallback(winid,cbfun))};var _glfwSetMonitorCallback=function(cbfun){cbfun=bigintToI53Checked(cbfun);var ret=(()=>{var prevcbfun=GLFW.monitorFunc;GLFW.monitorFunc=cbfun;return prevcbfun})();return BigInt(ret)};var _glfwSetMouseButtonCallback=(winid,cbfun)=>{winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);return BigInt(GLFW.setMouseButtonCallback(winid,cbfun))};var _glfwSetScrollCallback=(winid,cbfun)=>{winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);return BigInt(GLFW.setScrollCallback(winid,cbfun))};var _glfwSetWindowFocusCallback=function(winid,cbfun){winid=bigintToI53Checked(winid);cbfun=bigintToI53Checked(cbfun);var ret=(()=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowFocusFunc;win.windowFocusFunc=cbfun;return prevcbfun})();return BigInt(ret)};function _glfwSetWindowSize(winid,width,height){winid=bigintToI53Checked(winid);return GLFW.setWindowSize(winid,width,height)}function _glfwShowWindow(winid){winid=bigintToI53Checked(winid);return 0}var _glfwTerminate=()=>{window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);var canvas=Browser.getCanvas();canvas.removeEventListener("touchmove",GLFW.onMousemove,true);canvas.removeEventListener("touchstart",GLFW.onMouseButtonDown,true);canvas.removeEventListener("touchcancel",GLFW.onMouseButtonUp,true);canvas.removeEventListener("touchend",GLFW.onMouseButtonUp,true);canvas.removeEventListener("mousemove",GLFW.onMousemove,true);canvas.removeEventListener("mousedown",GLFW.onMouseButtonDown,true);canvas.removeEventListener("mouseup",GLFW.onMouseButtonUp,true);canvas.removeEventListener("wheel",GLFW.onMouseWheel,true);canvas.removeEventListener("mousewheel",GLFW.onMouseWheel,true);canvas.removeEventListener("mouseenter",GLFW.onMouseenter,true);canvas.removeEventListener("mouseleave",GLFW.onMouseleave,true);canvas.removeEventListener("drop",GLFW.onDrop,true);canvas.removeEventListener("dragover",GLFW.onDragover,true);if(GLFW.devicePixelRatioMQL)GLFW.devicePixelRatioMQL.removeEventListener("change",GLFW.onDevicePixelRatioChange);canvas.width=canvas.height=1;GLFW.windows=null;GLFW.active=null};var _glfwWindowHint=(target,hint)=>{GLFW.hints[target]=hint};function _wgpuAdapterRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrAdapter.release(id)}function _wgpuBindGroupLayoutRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrBindGroupLayout.release(id)}function _wgpuBindGroupRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){bufferId=bigintToI53Checked(bufferId);var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(bufferWrapper.onUnmap){for(var f of bufferWrapper.onUnmap){f()}bufferWrapper.onUnmap=undefined}WebGPU.mgrBuffer.get(bufferId).destroy()}function _wgpuBufferRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrBuffer.release(id)}function _wgpuCommandBufferRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrCommandBuffer.release(id)}var _wgpuCommandEncoderBeginRenderPass=function(encoderId,descriptor){encoderId=bigintToI53Checked(encoderId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{function makeColorAttachment(caPtr){var viewPtr=GROWABLE_HEAP_U32()[(caPtr+8)/4];if(viewPtr===0){return undefined}var depthSlice=GROWABLE_HEAP_I32()[(caPtr+16)/4];if(depthSlice==-1)depthSlice=undefined;var loadOpInt=GROWABLE_HEAP_U32()[(caPtr+32)/4];var storeOpInt=GROWABLE_HEAP_U32()[(caPtr+36)/4];var clearValue=WebGPU.makeColor(caPtr+40);return{view:WebGPU.mgrTextureView.get(viewPtr),depthSlice,resolveTarget:WebGPU.mgrTextureView.get(GROWABLE_HEAP_U32()[(caPtr+24)/4]),clearValue,loadOp:WebGPU.LoadOp[loadOpInt],storeOp:WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i{var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder.finish())})();return BigInt(ret)};function _wgpuCommandEncoderRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrCommandEncoder.release(id)}var readI53FromI64=ptr=>GROWABLE_HEAP_U32()[ptr/4]+GROWABLE_HEAP_I32()[(ptr+4)/4]*4294967296;var _wgpuDeviceCreateBindGroup=function(deviceId,descriptor){deviceId=bigintToI53Checked(deviceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{function makeEntry(entryPtr){var bufferId=GROWABLE_HEAP_U32()[(entryPtr+16)/4];var samplerId=GROWABLE_HEAP_U32()[(entryPtr+40)/4];var textureViewId=GROWABLE_HEAP_U32()[(entryPtr+48)/4];var binding=GROWABLE_HEAP_U32()[(entryPtr+8)/4];if(bufferId){var size=readI53FromI64(entryPtr+32);if(size==-1)size=undefined;return{binding,resource:{buffer:WebGPU.mgrBuffer.get(bufferId),offset:GROWABLE_HEAP_U32()[(entryPtr+4+24)/4]*4294967296+GROWABLE_HEAP_U32()[(entryPtr+24)/4],size}}}else if(samplerId){return{binding,resource:WebGPU.mgrSampler.get(samplerId)}}else{return{binding,resource:WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i{function makeBufferEntry(entryPtr){var typeInt=GROWABLE_HEAP_U32()[(entryPtr+8)/4];if(!typeInt)return undefined;return{type:WebGPU.BufferBindingType[typeInt],hasDynamicOffset:!!GROWABLE_HEAP_U32()[(entryPtr+12)/4],minBindingSize:GROWABLE_HEAP_U32()[(entryPtr+4+16)/4]*4294967296+GROWABLE_HEAP_U32()[(entryPtr+16)/4]}}function makeSamplerEntry(entryPtr){var typeInt=GROWABLE_HEAP_U32()[(entryPtr+8)/4];if(!typeInt)return undefined;return{type:WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=GROWABLE_HEAP_U32()[(entryPtr+8)/4];if(!sampleTypeInt)return undefined;return{sampleType:WebGPU.TextureSampleType[sampleTypeInt],viewDimension:WebGPU.TextureViewDimension[GROWABLE_HEAP_U32()[(entryPtr+12)/4]],multisampled:!!GROWABLE_HEAP_U32()[(entryPtr+16)/4]}}function makeStorageTextureEntry(entryPtr){var accessInt=GROWABLE_HEAP_U32()[(entryPtr+8)/4];if(!accessInt)return undefined;return{access:WebGPU.StorageTextureAccess[accessInt],format:WebGPU.TextureFormat[GROWABLE_HEAP_U32()[(entryPtr+12)/4]],viewDimension:WebGPU.TextureViewDimension[GROWABLE_HEAP_U32()[(entryPtr+16)/4]]}}function makeEntry(entryPtr){return{binding:GROWABLE_HEAP_U32()[(entryPtr+8)/4],visibility:GROWABLE_HEAP_U32()[(entryPtr+12)/4],buffer:makeBufferEntry(entryPtr+16),sampler:makeSamplerEntry(entryPtr+40),texture:makeTextureEntry(entryPtr+56),storageTexture:makeStorageTextureEntry(entryPtr+80)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i{var mappedAtCreation=!!GROWABLE_HEAP_U32()[(descriptor+32)/4];var desc={label:undefined,usage:GROWABLE_HEAP_U32()[(descriptor+16)/4],size:GROWABLE_HEAP_U32()[(descriptor+4+24)/4]*4294967296+GROWABLE_HEAP_U32()[(descriptor+24)/4],mappedAtCreation};var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device.createBuffer(desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id})();return BigInt(ret)};var _wgpuDeviceCreateCommandEncoder=function(deviceId,descriptor){deviceId=bigintToI53Checked(deviceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc;if(descriptor){desc={label:undefined};var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device.createCommandEncoder(desc))})();return BigInt(ret)};var _wgpuDeviceCreatePipelineLayout=function(deviceId,descriptor){deviceId=bigintToI53Checked(deviceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var bglCount=GROWABLE_HEAP_U32()[(descriptor+16)/4];var bglPtr=Number(HEAPU64[(descriptor+24)/8]);var bgls=[];for(var i=0;i{function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;var nextInChainPtr=Number(HEAPU64[rsPtr/8]);var sType=nextInChainPtr?GROWABLE_HEAP_U32()[(nextInChainPtr+8)/4]:0;return{topology:WebGPU.PrimitiveTopology[GROWABLE_HEAP_U32()[(rsPtr+8)/4]],stripIndexFormat:WebGPU.IndexFormat[GROWABLE_HEAP_U32()[(rsPtr+12)/4]],frontFace:WebGPU.FrontFace[GROWABLE_HEAP_U32()[(rsPtr+16)/4]],cullMode:WebGPU.CullMode[GROWABLE_HEAP_U32()[(rsPtr+20)/4]],unclippedDepth:sType===7&&!!GROWABLE_HEAP_U32()[(nextInChainPtr+16)/4]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{operation:WebGPU.BlendOperation[GROWABLE_HEAP_U32()[bdPtr/4]],srcFactor:WebGPU.BlendFactor[GROWABLE_HEAP_U32()[(bdPtr+4)/4]],dstFactor:WebGPU.BlendFactor[GROWABLE_HEAP_U32()[(bdPtr+8)/4]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{alpha:makeBlendComponent(bsPtr+12),color:makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=GROWABLE_HEAP_U32()[(csPtr+8)/4];return formatInt===0?undefined:{format:WebGPU.TextureFormat[formatInt],blend:makeBlendState(Number(HEAPU64[(csPtr+16)/8])),writeMask:GROWABLE_HEAP_U32()[(csPtr+24)/4]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i{var desc=generateRenderPipelineDesc(descriptor);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device.createRenderPipeline(desc))})();return BigInt(ret)};var _wgpuDeviceCreateSampler=function(deviceId,descriptor){deviceId=bigintToI53Checked(deviceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc;if(descriptor){desc={label:undefined,addressModeU:WebGPU.AddressMode[GROWABLE_HEAP_U32()[(descriptor+16)/4]],addressModeV:WebGPU.AddressMode[GROWABLE_HEAP_U32()[(descriptor+20)/4]],addressModeW:WebGPU.AddressMode[GROWABLE_HEAP_U32()[(descriptor+24)/4]],magFilter:WebGPU.FilterMode[GROWABLE_HEAP_U32()[(descriptor+28)/4]],minFilter:WebGPU.FilterMode[GROWABLE_HEAP_U32()[(descriptor+32)/4]],mipmapFilter:WebGPU.MipmapFilterMode[GROWABLE_HEAP_U32()[(descriptor+36)/4]],lodMinClamp:GROWABLE_HEAP_F32()[(descriptor+40)/4],lodMaxClamp:GROWABLE_HEAP_F32()[(descriptor+44)/4],compare:WebGPU.CompareFunction[GROWABLE_HEAP_U32()[(descriptor+48)/4]]};var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device.createSampler(desc))})();return BigInt(ret)};var _wgpuDeviceCreateShaderModule=function(deviceId,descriptor){deviceId=bigintToI53Checked(deviceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var nextInChainPtr=Number(HEAPU64[descriptor/8]);var sType=GROWABLE_HEAP_U32()[(nextInChainPtr+8)/4];var desc={label:undefined,code:""};var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=GROWABLE_HEAP_U32()[(nextInChainPtr+16)/4];var start=Number(HEAPU64[(nextInChainPtr+24)/8]);var offset=start/4;desc["code"]=GROWABLE_HEAP_U32().slice(offset,offset+count);break}case 6:{var sourcePtr=Number(HEAPU64[(nextInChainPtr+16)/8]);if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device.createShaderModule(desc))})();return BigInt(ret)};var _wgpuDeviceCreateSwapChain=function(deviceId,surfaceId,descriptor){deviceId=bigintToI53Checked(deviceId);surfaceId=bigintToI53Checked(surfaceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[GROWABLE_HEAP_U32()[(descriptor+24)/4],GROWABLE_HEAP_U32()[(descriptor+28)/4]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={device,format:WebGPU.TextureFormat[GROWABLE_HEAP_U32()[(descriptor+20)/4]],usage:GROWABLE_HEAP_U32()[(descriptor+16)/4],alphaMode:"opaque"};context.configure(configuration);return WebGPU.mgrSwapChain.create(context)})();return BigInt(ret)};var _wgpuDeviceCreateTexture=function(deviceId,descriptor){deviceId=bigintToI53Checked(deviceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc={label:undefined,size:WebGPU.makeExtent3D(descriptor+24),mipLevelCount:GROWABLE_HEAP_U32()[(descriptor+40)/4],sampleCount:GROWABLE_HEAP_U32()[(descriptor+44)/4],dimension:WebGPU.TextureDimension[GROWABLE_HEAP_U32()[(descriptor+20)/4]],format:WebGPU.TextureFormat[GROWABLE_HEAP_U32()[(descriptor+36)/4]],usage:GROWABLE_HEAP_U32()[(descriptor+16)/4]};var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=GROWABLE_HEAP_U32()[(descriptor+48)/4];if(viewFormatCount){var viewFormatsPtr=Number(HEAPU64[(descriptor+56)/8]);desc["viewFormats"]=Array.from(GROWABLE_HEAP_I32().subarray(viewFormatsPtr/4,(viewFormatsPtr+viewFormatCount*4)/4),format=>WebGPU.TextureFormat[format])}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device.createTexture(desc))})();return BigInt(ret)};var _wgpuDeviceGetQueue=function(deviceId){deviceId=bigintToI53Checked(deviceId);var ret=(()=>{var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId})();return BigInt(ret)};var _wgpuDeviceSetUncapturedErrorCallback=function(deviceId,callback,userdata){deviceId=bigintToI53Checked(deviceId);callback=bigintToI53Checked(callback);userdata=bigintToI53Checked(userdata);var device=WebGPU.mgrDevice.get(deviceId);device.onuncapturederror=function(ev){callUserCallback(()=>{var Validation=1;var OutOfMemory=2;var type;if(ev.error instanceof GPUValidationError)type=Validation;else if(ev.error instanceof GPUOutOfMemoryError)type=OutOfMemory;WebGPU.errorCallback(callback,type,ev.error.message,userdata)})}};var findCanvasEventTarget=findEventTarget;var _wgpuInstanceCreateSurface=function(instanceId,descriptor){instanceId=bigintToI53Checked(instanceId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var nextInChainPtr=Number(HEAPU64[descriptor/8]);var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=Number(HEAPU64[(descriptorFromCanvasHTMLSelector+16)/8]);var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)})();return BigInt(ret)};function _wgpuPipelineLayoutRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrPipelineLayout.release(id)}function _wgpuQueueRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrQueue.release(id)}var _wgpuQueueSubmit=function(queueId,commandCount,commands){queueId=bigintToI53Checked(queueId);commandCount=bigintToI53Checked(commandCount);commands=bigintToI53Checked(commands);var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP64.subarray(commands/8,(commands+commandCount*8)/8),id=>WebGPU.mgrCommandBuffer.get(id));queue.submit(cmds)};function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset,data,size){queueId=bigintToI53Checked(queueId);bufferId=bigintToI53Checked(bufferId);bufferOffset=bigintToI53Checked(bufferOffset);data=bigintToI53Checked(data);size=bigintToI53Checked(size);var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var subarray=GROWABLE_HEAP_U8().subarray(data,data+size);queue.writeBuffer(buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){queueId=bigintToI53Checked(queueId);destinationPtr=bigintToI53Checked(destinationPtr);data=bigintToI53Checked(data);dataSize=bigintToI53Checked(dataSize);dataLayoutPtr=bigintToI53Checked(dataLayoutPtr);writeSizePtr=bigintToI53Checked(writeSizePtr);var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=GROWABLE_HEAP_U8().subarray(data,data+dataSize);queue.writeTexture(destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){passId=bigintToI53Checked(passId);var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass.drawIndexed(indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderEnd(encoderId){encoderId=bigintToI53Checked(encoderId);var encoder=WebGPU.mgrRenderPassEncoder.get(encoderId);encoder.end()}function _wgpuRenderPassEncoderRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){passId=bigintToI53Checked(passId);groupId=bigintToI53Checked(groupId);dynamicOffsetCount=bigintToI53Checked(dynamicOffsetCount);dynamicOffsetsPtr=bigintToI53Checked(dynamicOffsetsPtr);var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass.setBindGroup(groupIndex,group)}else{var offsets=[];for(var i=0;i{var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context.getCurrentTexture().createView())})();return BigInt(ret)};function _wgpuSwapChainRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrSwapChain.release(id)}var _wgpuTextureCreateView=function(textureId,descriptor){textureId=bigintToI53Checked(textureId);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc;if(descriptor){var mipLevelCount=GROWABLE_HEAP_U32()[(descriptor+28)/4];var arrayLayerCount=GROWABLE_HEAP_U32()[(descriptor+36)/4];desc={format:WebGPU.TextureFormat[GROWABLE_HEAP_U32()[(descriptor+16)/4]],dimension:WebGPU.TextureViewDimension[GROWABLE_HEAP_U32()[(descriptor+20)/4]],baseMipLevel:GROWABLE_HEAP_U32()[(descriptor+24)/4],mipLevelCount:mipLevelCount===4294967295?undefined:mipLevelCount,baseArrayLayer:GROWABLE_HEAP_U32()[(descriptor+32)/4],arrayLayerCount:arrayLayerCount===4294967295?undefined:arrayLayerCount,aspect:WebGPU.TextureAspect[GROWABLE_HEAP_U32()[(descriptor+40)/4]]};var labelPtr=Number(HEAPU64[(descriptor+8)/8]);if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture.createView(desc))})();return BigInt(ret)};function _wgpuTextureRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){id=bigintToI53Checked(id);return WebGPU.mgrTextureView.release(id)}var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{GROWABLE_HEAP_I8().set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={pointer:p=>BigInt(p),string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return BigInt(ret)},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return BigInt(ret)}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(Number(ret))}if(returnType==="pointer")return Number(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var FS_createPath=FS.createPath;var FS_unlink=path=>FS.unlink(path);var FS_createLazyFile=FS.createLazyFile;var FS_createDevice=FS.createDevice;PThread.init();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="";embind_init_charCodes();init_emval();Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();WebGPU.initManagers();Module["requestFullscreen"]=Browser.requestFullscreen;Module["setCanvasSize"]=Browser.setCanvasSize;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;{initMemory();if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;var proxiedFunctionTable=[_proc_exit,exitOnMainThread,pthreadCreateProxied,___syscall_fcntl64,___syscall_fstat64,___syscall_getcwd,___syscall_getdents64,___syscall_ioctl,___syscall_lstat64,___syscall_mkdirat,___syscall_newfstatat,___syscall_openat,___syscall_readlinkat,___syscall_rmdir,___syscall_stat64,___syscall_unlinkat,__mmap_js,__munmap_js,_emscripten_get_element_css_size,_emscripten_set_fullscreenchange_callback_on_thread,_emscripten_set_resize_callback_on_thread,_emscripten_set_wheel_callback_on_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write,_emscripten_set_window_title];var ASM_CONSTS={1754995:($0,$1)=>{var ptr=Number($0);var size=Number($1);var sharedData=new Uint8Array(Module.HEAPU8.buffer,ptr,size);var copy=new Uint8Array(sharedData.length);copy.set(sharedData);var blob=new Blob([copy],{type:"image/png"});var url=URL.createObjectURL(blob);var a=document.createElement("a");a.href=url;a.download="output.png";document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(url)},1755442:($0,$1,$2,$3,$4)=>{if(typeof Module=="undefined"||!Module.MountedFiles){return 1}let fileName=UTF8ToString(Number($0>>>0));if(fileName.startsWith("./")){fileName=fileName.substring(2)}const fileData=Module.MountedFiles.get(fileName);if(!fileData){return 2}const offset=Number($1>>>0);const length=Number($2>>>0);const dataIdOrBuffer=Number($3>>>0);const loadType=$4;if(offset+length>fileData.byteLength){return 3}try{const data=fileData.subarray(offset,offset+length);switch(loadType){case 0:GROWABLE_HEAP_U8().set(data,dataIdOrBuffer);break;case 1:if(Module.webgpuUploadExternalBuffer){Module.webgpuUploadExternalBuffer(dataIdOrBuffer,data)}else{Module.jsepUploadExternalBuffer(dataIdOrBuffer,data)}break;default:return 4}return 0}catch{return 4}},1756266:()=>typeof wasmOffsetConverter!=="undefined"};function open_file_dialog(){const input=document.createElement("input");input.type="file";input.accept="image/*";input.onchange=function(event){const file=event.target.files[0];if(file){const reader=new FileReader;reader.onload=function(e){const buffer=Module._malloc(e.target.result.byteLength);Module.HEAPU8.set(new Uint8Array(e.target.result),buffer);Module._on_file_loaded(BigInt(buffer),BigInt(e.target.result.byteLength));Module._free(buffer)};reader.readAsArrayBuffer(file)}};input.click()}function open_result_window(){if(!window.resultWindow||window.resultWindow.closed){window.resultWindow=window.open("","ResultWindow","width=600,height=400")}if(window.resultWindow){window.resultWindow.document.open();window.resultWindow.document.write("推論結果"+""+""+''+"");window.resultWindow.document.close()}else{console.log("無法打開新視窗")}}function update_result_window(ptr,size){if(typeof window.resultWindow!=="undefined"&&window.resultWindow&&!window.resultWindow.closed){let offset=Number(ptr);let length=Number(size);let sharedData=new Uint8Array(Module.HEAPU8.buffer,offset,length);let copy=new Uint8Array(sharedData.length);copy.set(sharedData);let blob=new Blob([copy],{type:"image/png"});let url=URL.createObjectURL(blob);let img=window.resultWindow.document.getElementById("resultImg");if(img){img.src=url}setTimeout(()=>URL.revokeObjectURL(url),3e3)}}function ImGui_ImplGlfw_EmscriptenOpenURL(url){url=url?UTF8ToString(url):null;if(url)window.open(url,"_blank")}function HaveOffsetConverter(){return typeof wasmOffsetConverter!=="undefined"}var wasmImports;function assignWasmImports(){wasmImports={U:HaveOffsetConverter,Wa:ImGui_ImplGlfw_EmscriptenOpenURL,c:___assert_fail,b:___cxa_throw,Jb:___pthread_create_js,j:___syscall_fcntl64,_b:___syscall_fstat64,Hb:___syscall_getcwd,Ib:___syscall_getdents64,$b:___syscall_ioctl,Wb:___syscall_lstat64,Sb:___syscall_mkdirat,Xb:___syscall_newfstatat,sa:___syscall_openat,Gb:___syscall_readlinkat,Eb:___syscall_rmdir,Zb:___syscall_stat64,Fb:___syscall_unlinkat,gc:__abort_js,B:__embind_register_bigint,lc:__embind_register_bool,jc:__embind_register_emval,va:__embind_register_float,oa:__embind_register_function,r:__embind_register_integer,g:__embind_register_memory_view,kc:__embind_register_std_string,O:__embind_register_std_wstring,mc:__embind_register_void,Vb:__emscripten_init_main_thread_js,Cb:__emscripten_notify_mailbox_postmessage,Kb:__emscripten_receive_on_main_thread_js,pa:__emscripten_thread_cleanup,Ub:__emscripten_thread_mailbox_await,dc:__emscripten_thread_set_strongref,Ab:__emscripten_throw_longjmp,Ob:__gmtime_js,Pb:__localtime_js,Qb:__mktime_js,Lb:__mmap_js,Mb:__munmap_js,Rb:__timegm_js,ic:__tzset_js,fc:_clock_time_get,J:_emscripten_asm_const_int,qa:_emscripten_check_blocking_allowed,ec:_emscripten_date_now,x:_emscripten_errn,cc:_emscripten_exit_with_live_runtime,ba:_emscripten_get_element_css_size,Db:_emscripten_get_heap_max,o:_emscripten_get_now,y:_emscripten_num_logical_cores,T:_emscripten_pc_get_function,Bb:_emscripten_resize_heap,Za:_emscripten_set_fullscreenchange_callback_on_thread,Nb:_emscripten_set_main_loop,_a:_emscripten_set_resize_callback_on_thread,ca:_emscripten_set_wheel_callback_on_thread,Ea:_emscripten_stack_snapshot,Da:_emscripten_stack_unwind_buffer,Bc:_emscripten_webgpu_get_device,ac:_environ_get,bc:_environ_sizes_get,la:_exit,A:_fd_close,ra:_fd_read,Tb:_fd_seek,N:_fd_write,n:_glfwCreateStandardCursor,Ga:_glfwCreateWindow,i:_glfwDestroyCursor,Aa:_glfwDestroyWindow,Xa:_glfwGetClipboardString,eb:_glfwGetCursorPos,na:_glfwGetFramebufferSize,db:_glfwGetInputMode,ab:_glfwGetJoystickAxes,$a:_glfwGetJoystickButtons,p:_glfwGetKey,gb:_glfwGetTime,ub:_glfwGetWindowAttrib,hb:_glfwGetWindowSize,Va:_glfwInit,vb:_glfwPollEvents,ea:_glfwSetCharCallback,Ya:_glfwSetClipboardString,cb:_glfwSetCursor,ja:_glfwSetCursorEnterCallback,fb:_glfwSetCursorPos,ia:_glfwSetCursorPosCallback,I:_glfwSetErrorCallback,bb:_glfwSetInputMode,fa:_glfwSetKeyCallback,da:_glfwSetMonitorCallback,ha:_glfwSetMouseButtonCallback,ga:_glfwSetScrollCallback,ka:_glfwSetWindowFocusCallback,aa:_glfwSetWindowSize,Yb:_glfwShowWindow,wa:_glfwTerminate,Na:_glfwWindowHint,Ba:invoke_ii,h:invoke_ij,Ac:invoke_iji,D:invoke_ijj,k:invoke_ijji,P:invoke_ijjii,R:invoke_ijjj,pc:invoke_ijjjj,sc:invoke_ijjjjj,tc:invoke_ijjjjjjjjj,xc:invoke_j,e:invoke_jj,Q:invoke_jjiii,m:invoke_jjj,s:invoke_jjjj,E:invoke_jjjjj,ya:invoke_v,vc:invoke_vij,wc:invoke_vijjijj,yc:invoke_vijjji,d:invoke_vj,v:invoke_vji,xa:invoke_vjidd,F:invoke_vjii,rc:invoke_vjiii,Ca:invoke_vjij,t:invoke_vjijij,uc:invoke_vjijiji,f:invoke_vjj,C:invoke_vjjiii,nc:invoke_vjjiiiiiii,l:invoke_vjjj,qc:invoke_vjjji,za:invoke_vjjjiiiiij,q:invoke_vjjjj,oc:invoke_vjjjjj,a:wasmMemory,tb:open_file_dialog,sb:open_result_window,hc:_proc_exit,rb:update_result_window,yb:_wgpuAdapterRelease,W:_wgpuBindGroupLayoutRelease,V:_wgpuBindGroupRelease,$:_wgpuBufferDestroy,u:_wgpuBufferRelease,ib:_wgpuCommandBufferRelease,ob:_wgpuCommandEncoderBeginRenderPass,mb:_wgpuCommandEncoderFinish,jb:_wgpuCommandEncoderRelease,G:_wgpuDeviceCreateBindGroup,Z:_wgpuDeviceCreateBindGroupLayout,H:_wgpuDeviceCreateBuffer,pb:_wgpuDeviceCreateCommandEncoder,Ma:_wgpuDeviceCreatePipelineLayout,La:_wgpuDeviceCreateRenderPipeline,Ka:_wgpuDeviceCreateSampler,Y:_wgpuDeviceCreateShaderModule,ta:_wgpuDeviceCreateSwapChain,M:_wgpuDeviceCreateTexture,L:_wgpuDeviceGetQueue,zc:_wgpuDeviceSetUncapturedErrorCallback,xb:_wgpuInstanceCreateSurface,Ja:_wgpuPipelineLayoutRelease,Fa:_wgpuQueueRelease,lb:_wgpuQueueSubmit,z:_wgpuQueueWriteBuffer,S:_wgpuQueueWriteTexture,Ta:_wgpuRenderPassEncoderDrawIndexed,nb:_wgpuRenderPassEncoderEnd,kb:_wgpuRenderPassEncoderRelease,_:_wgpuRenderPassEncoderSetBindGroup,Oa:_wgpuRenderPassEncoderSetBlendConstant,Qa:_wgpuRenderPassEncoderSetIndexBuffer,Pa:_wgpuRenderPassEncoderSetPipeline,Ua:_wgpuRenderPassEncoderSetScissorRect,Ra:_wgpuRenderPassEncoderSetVertexBuffer,Sa:_wgpuRenderPassEncoderSetViewport,Ia:_wgpuRenderPipelineRelease,Ha:_wgpuSamplerRelease,X:_wgpuShaderModuleRelease,zb:_wgpuSurfaceGetPreferredFormat,wb:_wgpuSurfaceRelease,qb:_wgpuSwapChainGetCurrentTextureView,ua:_wgpuSwapChainRelease,w:_wgpuTextureCreateView,K:_wgpuTextureRelease,ma:_wgpuTextureViewRelease}}var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["Cc"])();var _on_file_loaded=Module["_on_file_loaded"]=(a0,a1)=>(_on_file_loaded=Module["_on_file_loaded"]=wasmExports["Dc"])(a0,a1);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Fc"])(a0,a1);var _fflush=a0=>(_fflush=wasmExports["Gc"])(a0);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Hc"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Ic"])(a0);var _pthread_self=()=>(_pthread_self=wasmExports["Jc"])();var ___getTypeName=a0=>(___getTypeName=wasmExports["Kc"])(a0);var __embind_initialize_bindings=()=>(__embind_initialize_bindings=wasmExports["Lc"])();var ___funcs_on_exit=()=>(___funcs_on_exit=wasmExports["Mc"])();var __emscripten_thread_init=(a0,a1,a2,a3,a4,a5)=>(__emscripten_thread_init=wasmExports["Nc"])(a0,a1,a2,a3,a4,a5);var __emscripten_thread_crashed=()=>(__emscripten_thread_crashed=wasmExports["Oc"])();var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["Pc"])(a0,a1);var __emscripten_run_on_main_thread_js=(a0,a1,a2,a3,a4)=>(__emscripten_run_on_main_thread_js=wasmExports["Qc"])(a0,a1,a2,a3,a4);var __emscripten_thread_free_data=a0=>(__emscripten_thread_free_data=wasmExports["Rc"])(a0);var __emscripten_thread_exit=a0=>(__emscripten_thread_exit=wasmExports["Sc"])(a0);var __emscripten_check_mailbox=()=>(__emscripten_check_mailbox=wasmExports["Tc"])();var __emscripten_tls_init=()=>(__emscripten_tls_init=wasmExports["Uc"])();var __emscripten_run_callback_on_thread=(a0,a1,a2,a3,a4)=>(__emscripten_run_callback_on_thread=wasmExports["Vc"])(a0,a1,a2,a3,a4);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["Wc"])(a0,a1);var _emscripten_stack_set_limits=(a0,a1)=>(_emscripten_stack_set_limits=wasmExports["Xc"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["Yc"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["Zc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["_c"])();var dynCall_vij=Module["dynCall_vij"]=(a0,a1,a2)=>(dynCall_vij=Module["dynCall_vij"]=wasmExports["$c"])(a0,a1,a2);var dynCall_vijj=Module["dynCall_vijj"]=(a0,a1,a2,a3)=>(dynCall_vijj=Module["dynCall_vijj"]=wasmExports["ad"])(a0,a1,a2,a3);var dynCall_v=Module["dynCall_v"]=a0=>(dynCall_v=Module["dynCall_v"]=wasmExports["bd"])(a0);var dynCall_jj=Module["dynCall_jj"]=(a0,a1)=>(dynCall_jj=Module["dynCall_jj"]=wasmExports["cd"])(a0,a1);var dynCall_vjjj=Module["dynCall_vjjj"]=(a0,a1,a2,a3)=>(dynCall_vjjj=Module["dynCall_vjjj"]=wasmExports["dd"])(a0,a1,a2,a3);var dynCall_vjj=Module["dynCall_vjj"]=(a0,a1,a2)=>(dynCall_vjj=Module["dynCall_vjj"]=wasmExports["ed"])(a0,a1,a2);var dynCall_vj=Module["dynCall_vj"]=(a0,a1)=>(dynCall_vj=Module["dynCall_vj"]=wasmExports["fd"])(a0,a1);var dynCall_jjj=Module["dynCall_jjj"]=(a0,a1,a2)=>(dynCall_jjj=Module["dynCall_jjj"]=wasmExports["gd"])(a0,a1,a2);var dynCall_vjjjj=Module["dynCall_vjjjj"]=(a0,a1,a2,a3,a4)=>(dynCall_vjjjj=Module["dynCall_vjjjj"]=wasmExports["hd"])(a0,a1,a2,a3,a4);var dynCall_jjjj=Module["dynCall_jjjj"]=(a0,a1,a2,a3)=>(dynCall_jjjj=Module["dynCall_jjjj"]=wasmExports["id"])(a0,a1,a2,a3);var dynCall_ijj=Module["dynCall_ijj"]=(a0,a1,a2)=>(dynCall_ijj=Module["dynCall_ijj"]=wasmExports["jd"])(a0,a1,a2);var dynCall_ij=Module["dynCall_ij"]=(a0,a1)=>(dynCall_ij=Module["dynCall_ij"]=wasmExports["kd"])(a0,a1);var dynCall_vji=Module["dynCall_vji"]=(a0,a1,a2)=>(dynCall_vji=Module["dynCall_vji"]=wasmExports["ld"])(a0,a1,a2);var dynCall_vjdd=Module["dynCall_vjdd"]=(a0,a1,a2,a3)=>(dynCall_vjdd=Module["dynCall_vjdd"]=wasmExports["md"])(a0,a1,a2,a3);var dynCall_vjiii=Module["dynCall_vjiii"]=(a0,a1,a2,a3,a4)=>(dynCall_vjiii=Module["dynCall_vjiii"]=wasmExports["nd"])(a0,a1,a2,a3,a4);var dynCall_vjiiii=Module["dynCall_vjiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjiiii=Module["dynCall_vjiiii"]=wasmExports["od"])(a0,a1,a2,a3,a4,a5);var dynCall_iijj=Module["dynCall_iijj"]=(a0,a1,a2,a3)=>(dynCall_iijj=Module["dynCall_iijj"]=wasmExports["pd"])(a0,a1,a2,a3);var dynCall_idjij=Module["dynCall_idjij"]=(a0,a1,a2,a3,a4)=>(dynCall_idjij=Module["dynCall_idjij"]=wasmExports["qd"])(a0,a1,a2,a3,a4);var dynCall_vjjfijj=Module["dynCall_vjjfijj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjfijj=Module["dynCall_vjjfijj"]=wasmExports["rd"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjjjjjj=Module["dynCall_vjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjjjjjjjj=Module["dynCall_vjjjjjjjj"]=wasmExports["sd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_vjjjjii=Module["dynCall_vjjjjii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjjii=Module["dynCall_vjjjjii"]=wasmExports["td"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjiii=Module["dynCall_vjjjiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjiii=Module["dynCall_vjjjiii"]=wasmExports["ud"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjijijjii=Module["dynCall_jjijijjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_jjijijjii=Module["dynCall_jjijijjii"]=wasmExports["vd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ijjii=Module["dynCall_ijjii"]=(a0,a1,a2,a3,a4)=>(dynCall_ijjii=Module["dynCall_ijjii"]=wasmExports["wd"])(a0,a1,a2,a3,a4);var dynCall_vjji=Module["dynCall_vjji"]=(a0,a1,a2,a3)=>(dynCall_vjji=Module["dynCall_vjji"]=wasmExports["xd"])(a0,a1,a2,a3);var dynCall_vjjjijjjj=Module["dynCall_vjjjijjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjjjijjjj=Module["dynCall_vjjjijjjj"]=wasmExports["yd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_vjjjijjjjji=Module["dynCall_vjjjijjjjji"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_vjjjijjjjji=Module["dynCall_vjjjijjjjji"]=wasmExports["zd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_vjjjjjjiij=Module["dynCall_vjjjjjjiij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjjjjjiij=Module["dynCall_vjjjjjjiij"]=wasmExports["Ad"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_ijjjjiijii=Module["dynCall_ijjjjiijii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_ijjjjiijii=Module["dynCall_ijjjjiijii"]=wasmExports["Bd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_ijjjjjjiij=Module["dynCall_ijjjjjjiij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_ijjjjjjiij=Module["dynCall_ijjjjjjiij"]=wasmExports["Cd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_vjjjij=Module["dynCall_vjjjij"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjjij=Module["dynCall_vjjjij"]=wasmExports["Dd"])(a0,a1,a2,a3,a4,a5);var dynCall_vjjjd=Module["dynCall_vjjjd"]=(a0,a1,a2,a3,a4)=>(dynCall_vjjjd=Module["dynCall_vjjjd"]=wasmExports["Ed"])(a0,a1,a2,a3,a4);var dynCall_vjjjjjjjjjjddi=Module["dynCall_vjjjjjjjjjjddi"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)=>(dynCall_vjjjjjjjjjjddi=Module["dynCall_vjjjjjjjjjjddi"]=wasmExports["Fd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);var dynCall_vjjjjjjjji=Module["dynCall_vjjjjjjjji"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjjjjjjji=Module["dynCall_vjjjjjjjji"]=wasmExports["Gd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_vjjjjjjjddi=Module["dynCall_vjjjjjjjddi"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_vjjjjjjjddi=Module["dynCall_vjjjjjjjddi"]=wasmExports["Hd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_vjjji=Module["dynCall_vjjji"]=(a0,a1,a2,a3,a4)=>(dynCall_vjjji=Module["dynCall_vjjji"]=wasmExports["Id"])(a0,a1,a2,a3,a4);var dynCall_vjjjjj=Module["dynCall_vjjjjj"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjjjj=Module["dynCall_vjjjjj"]=wasmExports["Jd"])(a0,a1,a2,a3,a4,a5);var dynCall_vjjij=Module["dynCall_vjjij"]=(a0,a1,a2,a3,a4)=>(dynCall_vjjij=Module["dynCall_vjjij"]=wasmExports["Kd"])(a0,a1,a2,a3,a4);var dynCall_vjjjjd=Module["dynCall_vjjjjd"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjjjd=Module["dynCall_vjjjjd"]=wasmExports["Ld"])(a0,a1,a2,a3,a4,a5);var dynCall_vjjdj=Module["dynCall_vjjdj"]=(a0,a1,a2,a3,a4)=>(dynCall_vjjdj=Module["dynCall_vjjdj"]=wasmExports["Md"])(a0,a1,a2,a3,a4);var dynCall_vjdjj=Module["dynCall_vjdjj"]=(a0,a1,a2,a3,a4)=>(dynCall_vjdjj=Module["dynCall_vjdjj"]=wasmExports["Nd"])(a0,a1,a2,a3,a4);var dynCall_vjjii=Module["dynCall_vjjii"]=(a0,a1,a2,a3,a4)=>(dynCall_vjjii=Module["dynCall_vjjii"]=wasmExports["Od"])(a0,a1,a2,a3,a4);var dynCall_vjjjjjjij=Module["dynCall_vjjjjjjij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjjjjjjij=Module["dynCall_vjjjjjjij"]=wasmExports["Pd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viij=Module["dynCall_viij"]=(a0,a1,a2,a3)=>(dynCall_viij=Module["dynCall_viij"]=wasmExports["Qd"])(a0,a1,a2,a3);var dynCall_vjjiijjjj=Module["dynCall_vjjiijjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjjiijjjj=Module["dynCall_vjjiijjjj"]=wasmExports["Rd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_vjjiijjjjii=Module["dynCall_vjjiijjjjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_vjjiijjjjii=Module["dynCall_vjjiijjjjii"]=wasmExports["Sd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_vjijjjiii=Module["dynCall_vjijjjiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjijjjiii=Module["dynCall_vjijjjiii"]=wasmExports["Td"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_vjjjjjjiii=Module["dynCall_vjjjjjjiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjjjjjiii=Module["dynCall_vjjjjjjiii"]=wasmExports["Ud"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_vjjjijij=Module["dynCall_vjjjijij"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjijij=Module["dynCall_vjjjijij"]=wasmExports["Vd"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjiijjiiidd=Module["dynCall_vjjiijjiiidd"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_vjjiijjiiidd=Module["dynCall_vjjiijjiiidd"]=wasmExports["Wd"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iji=Module["dynCall_iji"]=(a0,a1,a2)=>(dynCall_iji=Module["dynCall_iji"]=wasmExports["Xd"])(a0,a1,a2);var dynCall_ijjj=Module["dynCall_ijjj"]=(a0,a1,a2,a3)=>(dynCall_ijjj=Module["dynCall_ijjj"]=wasmExports["Yd"])(a0,a1,a2,a3);var dynCall_vjij=Module["dynCall_vjij"]=(a0,a1,a2,a3)=>(dynCall_vjij=Module["dynCall_vjij"]=wasmExports["Zd"])(a0,a1,a2,a3);var dynCall_vjii=Module["dynCall_vjii"]=(a0,a1,a2,a3)=>(dynCall_vjii=Module["dynCall_vjii"]=wasmExports["_d"])(a0,a1,a2,a3);var dynCall_ijji=Module["dynCall_ijji"]=(a0,a1,a2,a3)=>(dynCall_ijji=Module["dynCall_ijji"]=wasmExports["$d"])(a0,a1,a2,a3);var dynCall_vjijij=Module["dynCall_vjijij"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjijij=Module["dynCall_vjijij"]=wasmExports["ae"])(a0,a1,a2,a3,a4,a5);var dynCall_vijjji=Module["dynCall_vijjji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vijjji=Module["dynCall_vijjji"]=wasmExports["be"])(a0,a1,a2,a3,a4,a5);var dynCall_j=Module["dynCall_j"]=a0=>(dynCall_j=Module["dynCall_j"]=wasmExports["ce"])(a0);var dynCall_vijjijj=Module["dynCall_vijjijj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vijjijj=Module["dynCall_vijjijj"]=wasmExports["de"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["ee"])(a0,a1);var dynCall_vjijiji=Module["dynCall_vjijiji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjijiji=Module["dynCall_vjijiji"]=wasmExports["fe"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_ijjiiii=Module["dynCall_ijjiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_ijjiiii=Module["dynCall_ijjiiii"]=wasmExports["ge"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjjjj=Module["dynCall_jjjjj"]=(a0,a1,a2,a3,a4)=>(dynCall_jjjjj=Module["dynCall_jjjjj"]=wasmExports["he"])(a0,a1,a2,a3,a4);var dynCall_ijjjjjjjjj=Module["dynCall_ijjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_ijjjjjjjjj=Module["dynCall_ijjjjjjjjj"]=wasmExports["ie"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_ijjjjj=Module["dynCall_ijjjjj"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_ijjjjj=Module["dynCall_ijjjjj"]=wasmExports["je"])(a0,a1,a2,a3,a4,a5);var dynCall_jjiii=Module["dynCall_jjiii"]=(a0,a1,a2,a3,a4)=>(dynCall_jjiii=Module["dynCall_jjiii"]=wasmExports["ke"])(a0,a1,a2,a3,a4);var dynCall_vjjjiiiiij=Module["dynCall_vjjjiiiiij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjjiiiiij=Module["dynCall_vjjjiiiiij"]=wasmExports["le"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_vjjiii=Module["dynCall_vjjiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjiii=Module["dynCall_vjjiii"]=wasmExports["me"])(a0,a1,a2,a3,a4,a5);var dynCall_vjidd=Module["dynCall_vjidd"]=(a0,a1,a2,a3,a4)=>(dynCall_vjidd=Module["dynCall_vjidd"]=wasmExports["ne"])(a0,a1,a2,a3,a4);var dynCall_ijjjj=Module["dynCall_ijjjj"]=(a0,a1,a2,a3,a4)=>(dynCall_ijjjj=Module["dynCall_ijjjj"]=wasmExports["oe"])(a0,a1,a2,a3,a4);var dynCall_vjjiiiiiii=Module["dynCall_vjjiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjiiiiiii=Module["dynCall_vjjiiiiiii"]=wasmExports["pe"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_jjji=Module["dynCall_jjji"]=(a0,a1,a2,a3)=>(dynCall_jjji=Module["dynCall_jjji"]=wasmExports["qe"])(a0,a1,a2,a3);var dynCall_ijdiiii=Module["dynCall_ijdiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_ijdiiii=Module["dynCall_ijdiiii"]=wasmExports["re"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjii=Module["dynCall_vjjjii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjjii=Module["dynCall_vjjjii"]=wasmExports["se"])(a0,a1,a2,a3,a4,a5);var dynCall_ijii=Module["dynCall_ijii"]=(a0,a1,a2,a3)=>(dynCall_ijii=Module["dynCall_ijii"]=wasmExports["te"])(a0,a1,a2,a3);var dynCall_jjjjij=Module["dynCall_jjjjij"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjjij=Module["dynCall_jjjjij"]=wasmExports["ue"])(a0,a1,a2,a3,a4,a5);var dynCall_ijjjjjjjj=Module["dynCall_ijjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_ijjjjjjjj=Module["dynCall_ijjjjjjjj"]=wasmExports["ve"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_jjjjjjj=Module["dynCall_jjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjjjjjj=Module["dynCall_jjjjjjj"]=wasmExports["we"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjjjii=Module["dynCall_jjjjii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjjii=Module["dynCall_jjjjii"]=wasmExports["xe"])(a0,a1,a2,a3,a4,a5);var dynCall_jjjjid=Module["dynCall_jjjjid"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjjid=Module["dynCall_jjjjid"]=wasmExports["ye"])(a0,a1,a2,a3,a4,a5);var dynCall_jjjjijj=Module["dynCall_jjjjijj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjjjijj=Module["dynCall_jjjjijj"]=wasmExports["ze"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjjjjjjii=Module["dynCall_jjjjjjjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_jjjjjjjii=Module["dynCall_jjjjjjjii"]=wasmExports["Ae"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_jjjjijii=Module["dynCall_jjjjijii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_jjjjijii=Module["dynCall_jjjjijii"]=wasmExports["Be"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jjjjijjj=Module["dynCall_jjjjijjj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_jjjjijjj=Module["dynCall_jjjjijjj"]=wasmExports["Ce"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jjjijijj=Module["dynCall_jjjijijj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_jjjijijj=Module["dynCall_jjjijijj"]=wasmExports["De"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jjjijij=Module["dynCall_jjjijij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjjijij=Module["dynCall_jjjijij"]=wasmExports["Ee"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjiij=Module["dynCall_vjjjiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjiij=Module["dynCall_vjjjiij"]=wasmExports["Fe"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_ijij=Module["dynCall_ijij"]=(a0,a1,a2,a3)=>(dynCall_ijij=Module["dynCall_ijij"]=wasmExports["Ge"])(a0,a1,a2,a3);var dynCall_vjjjijji=Module["dynCall_vjjjijji"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjijji=Module["dynCall_vjjjijji"]=wasmExports["He"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjiji=Module["dynCall_vjjiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjiji=Module["dynCall_vjjiji"]=wasmExports["Ie"])(a0,a1,a2,a3,a4,a5);var dynCall_vjjjji=Module["dynCall_vjjjji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjjji=Module["dynCall_vjjjji"]=wasmExports["Je"])(a0,a1,a2,a3,a4,a5);var dynCall_jjjiii=Module["dynCall_jjjiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjiii=Module["dynCall_jjjiii"]=wasmExports["Ke"])(a0,a1,a2,a3,a4,a5);var dynCall_jjiiiii=Module["dynCall_jjiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjiiiii=Module["dynCall_jjiiiii"]=wasmExports["Le"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjij=Module["dynCall_jjij"]=(a0,a1,a2,a3)=>(dynCall_jjij=Module["dynCall_jjij"]=wasmExports["Me"])(a0,a1,a2,a3);var dynCall_jjii=Module["dynCall_jjii"]=(a0,a1,a2,a3)=>(dynCall_jjii=Module["dynCall_jjii"]=wasmExports["Ne"])(a0,a1,a2,a3);var dynCall_ijjij=Module["dynCall_ijjij"]=(a0,a1,a2,a3,a4)=>(dynCall_ijjij=Module["dynCall_ijjij"]=wasmExports["Oe"])(a0,a1,a2,a3,a4);var dynCall_vjijijjjj=Module["dynCall_vjijijjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjijijjjj=Module["dynCall_vjijijjjj"]=wasmExports["Pe"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_vjjjjjj=Module["dynCall_vjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjjjj=Module["dynCall_vjjjjjj"]=wasmExports["Qe"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iij=Module["dynCall_iij"]=(a0,a1,a2)=>(dynCall_iij=Module["dynCall_iij"]=wasmExports["Re"])(a0,a1,a2);var dynCall_vfjji=Module["dynCall_vfjji"]=(a0,a1,a2,a3,a4)=>(dynCall_vfjji=Module["dynCall_vfjji"]=wasmExports["Se"])(a0,a1,a2,a3,a4);var dynCall_vjjjiff=Module["dynCall_vjjjiff"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjiff=Module["dynCall_vjjjiff"]=wasmExports["Te"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjjiff=Module["dynCall_vjjjjiff"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjjiff=Module["dynCall_vjjjjiff"]=wasmExports["Ue"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_ffff=Module["dynCall_ffff"]=(a0,a1,a2,a3)=>(dynCall_ffff=Module["dynCall_ffff"]=wasmExports["Ve"])(a0,a1,a2,a3);var dynCall_vjiff=Module["dynCall_vjiff"]=(a0,a1,a2,a3,a4)=>(dynCall_vjiff=Module["dynCall_vjiff"]=wasmExports["We"])(a0,a1,a2,a3,a4);var dynCall_fffffff=Module["dynCall_fffffff"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_fffffff=Module["dynCall_fffffff"]=wasmExports["Xe"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjjjjj=Module["dynCall_jjjjjj"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjjjj=Module["dynCall_jjjjjj"]=wasmExports["Ye"])(a0,a1,a2,a3,a4,a5);var dynCall_vjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)=>(dynCall_vjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjj"]=wasmExports["Ze"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);var dynCall_jjjijjjj=Module["dynCall_jjjijjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_jjjijjjj=Module["dynCall_jjjijjjj"]=wasmExports["_e"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjjiijjjjj=Module["dynCall_vjjjiijjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_vjjjiijjjjj=Module["dynCall_vjjjiijjjjj"]=wasmExports["$e"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_vjjiiiijjjjj=Module["dynCall_vjjiiiijjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_vjjiiiijjjjj=Module["dynCall_vjjiiiijjjjj"]=wasmExports["af"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_vjjjjjjjjjijj=Module["dynCall_vjjjjjjjjjijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)=>(dynCall_vjjjjjjjjjijj=Module["dynCall_vjjjjjjjjjijj"]=wasmExports["bf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);var dynCall_vjjiij=Module["dynCall_vjjiij"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjiij=Module["dynCall_vjjiij"]=wasmExports["cf"])(a0,a1,a2,a3,a4,a5);var dynCall_vjjjjjijijjjiiiiiii=Module["dynCall_vjjjjjijijjjiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18)=>(dynCall_vjjjjjijijjjiiiiiii=Module["dynCall_vjjjjjijijjjiiiiiii"]=wasmExports["df"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);var dynCall_vjjjiijjjj=Module["dynCall_vjjjiijjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjjiijjjj=Module["dynCall_vjjjiijjjj"]=wasmExports["ef"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_vjjjjjijjjiiiiiiiijj=Module["dynCall_vjjjjjijjjiiiiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19)=>(dynCall_vjjjjjijjjiiiiiiiijj=Module["dynCall_vjjjjjijjjiiiiiiiijj"]=wasmExports["ff"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);var dynCall_vjjjijjii=Module["dynCall_vjjjijjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjjjijjii=Module["dynCall_vjjjijjii"]=wasmExports["gf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_vjjjijjj=Module["dynCall_vjjjijjj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjijjj=Module["dynCall_vjjjijjj"]=wasmExports["hf"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjijjjiijjij=Module["dynCall_vjijjjiijjij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_vjijjjiijjij=Module["dynCall_vjijjjiijjij"]=wasmExports["jf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_vjjiiiiiijijjijj=Module["dynCall_vjjiiiiiijijjijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)=>(dynCall_vjjiiiiiijijjijj=Module["dynCall_vjjiiiiiijijjijj"]=wasmExports["kf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);var dynCall_vjjjjjjjjjiijj=Module["dynCall_vjjjjjjjjjiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)=>(dynCall_vjjjjjjjjjiijj=Module["dynCall_vjjjjjjjjjiijj"]=wasmExports["lf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);var dynCall_vjjjjjjjjj=Module["dynCall_vjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjjjjjjjj=Module["dynCall_vjjjjjjjjj"]=wasmExports["mf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_jij=Module["dynCall_jij"]=(a0,a1,a2)=>(dynCall_jij=Module["dynCall_jij"]=wasmExports["nf"])(a0,a1,a2);var dynCall_jijj=Module["dynCall_jijj"]=(a0,a1,a2,a3)=>(dynCall_jijj=Module["dynCall_jijj"]=wasmExports["of"])(a0,a1,a2,a3);var dynCall_jjjijj=Module["dynCall_jjjijj"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjijj=Module["dynCall_jjjijj"]=wasmExports["pf"])(a0,a1,a2,a3,a4,a5);var dynCall_jjjjjjjjj=Module["dynCall_jjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_jjjjjjjjj=Module["dynCall_jjjjjjjjj"]=wasmExports["qf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_jji=Module["dynCall_jji"]=(a0,a1,a2)=>(dynCall_jji=Module["dynCall_jji"]=wasmExports["rf"])(a0,a1,a2);var dynCall_jjjjjjij=Module["dynCall_jjjjjjij"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_jjjjjjij=Module["dynCall_jjjjjjij"]=wasmExports["sf"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jjiiij=Module["dynCall_jjiiij"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjiiij=Module["dynCall_jjiiij"]=wasmExports["tf"])(a0,a1,a2,a3,a4,a5);var dynCall_jiij=Module["dynCall_jiij"]=(a0,a1,a2,a3)=>(dynCall_jiij=Module["dynCall_jiij"]=wasmExports["uf"])(a0,a1,a2,a3);var dynCall_jjijj=Module["dynCall_jjijj"]=(a0,a1,a2,a3,a4)=>(dynCall_jjijj=Module["dynCall_jjijj"]=wasmExports["vf"])(a0,a1,a2,a3,a4);var dynCall_jjjij=Module["dynCall_jjjij"]=(a0,a1,a2,a3,a4)=>(dynCall_jjjij=Module["dynCall_jjjij"]=wasmExports["wf"])(a0,a1,a2,a3,a4);var dynCall_jijjj=Module["dynCall_jijjj"]=(a0,a1,a2,a3,a4)=>(dynCall_jijjj=Module["dynCall_jijjj"]=wasmExports["xf"])(a0,a1,a2,a3,a4);var dynCall_jjjijjj=Module["dynCall_jjjijjj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjjijjj=Module["dynCall_jjjijjj"]=wasmExports["yf"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_ji=Module["dynCall_ji"]=(a0,a1)=>(dynCall_ji=Module["dynCall_ji"]=wasmExports["zf"])(a0,a1);var dynCall_jjjjjjjj=Module["dynCall_jjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_jjjjjjjj=Module["dynCall_jjjjjjjj"]=wasmExports["Af"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jjjjjjjjjj=Module["dynCall_jjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_jjjjjjjjjj=Module["dynCall_jjjjjjjjjj"]=wasmExports["Bf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_jjjjjjjij=Module["dynCall_jjjjjjjij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_jjjjjjjij=Module["dynCall_jjjjjjjij"]=wasmExports["Cf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_jjjiij=Module["dynCall_jjjiij"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjjiij=Module["dynCall_jjjiij"]=wasmExports["Df"])(a0,a1,a2,a3,a4,a5);var dynCall_jjjjijjijiiij=Module["dynCall_jjjjijjijiiij"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)=>(dynCall_jjjjijjijiiij=Module["dynCall_jjjjijjijiiij"]=wasmExports["Ef"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);var dynCall_jjjjiji=Module["dynCall_jjjjiji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjjjiji=Module["dynCall_jjjjiji"]=wasmExports["Ff"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjijjij=Module["dynCall_jjijjij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjijjij=Module["dynCall_jjijjij"]=wasmExports["Gf"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_jjjjjjjjjjj=Module["dynCall_jjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_jjjjjjjjjjj=Module["dynCall_jjjjjjjjjjj"]=wasmExports["Hf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_jjiij=Module["dynCall_jjiij"]=(a0,a1,a2,a3,a4)=>(dynCall_jjiij=Module["dynCall_jjiij"]=wasmExports["If"])(a0,a1,a2,a3,a4);var dynCall_jjijjj=Module["dynCall_jjijjj"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_jjijjj=Module["dynCall_jjijjj"]=wasmExports["Jf"])(a0,a1,a2,a3,a4,a5);var dynCall_vjijjjjjjjjjii=Module["dynCall_vjijjjjjjjjjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)=>(dynCall_vjijjjjjjjjjii=Module["dynCall_vjijjjjjjjjjii"]=wasmExports["Kf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);var dynCall_vjijjji=Module["dynCall_vjijjji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjijjji=Module["dynCall_vjijjji"]=wasmExports["Lf"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjiij=Module["dynCall_vjiij"]=(a0,a1,a2,a3,a4)=>(dynCall_vjiij=Module["dynCall_vjiij"]=wasmExports["Mf"])(a0,a1,a2,a3,a4);var dynCall_vjjjjjjj=Module["dynCall_vjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjjjjj=Module["dynCall_vjjjjjjj"]=wasmExports["Nf"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjijjj=Module["dynCall_vjjijjj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjijjj=Module["dynCall_vjjijjj"]=wasmExports["Of"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjijj=Module["dynCall_vjijj"]=(a0,a1,a2,a3,a4)=>(dynCall_vjijj=Module["dynCall_vjijj"]=wasmExports["Pf"])(a0,a1,a2,a3,a4);var dynCall_vjjjjji=Module["dynCall_vjjjjji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjjji=Module["dynCall_vjjjjji"]=wasmExports["Qf"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjiijj=Module["dynCall_vjjjiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjiijj=Module["dynCall_vjjjiijj"]=wasmExports["Rf"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjjjij=Module["dynCall_vjjjjij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_vjjjjij=Module["dynCall_vjjjjij"]=wasmExports["Sf"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjijj=Module["dynCall_vjjijj"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_vjjijj=Module["dynCall_vjjijj"]=wasmExports["Tf"])(a0,a1,a2,a3,a4,a5);var dynCall_ijjjjjj=Module["dynCall_ijjjjjj"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_ijjjjjj=Module["dynCall_ijjjjjj"]=wasmExports["Uf"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_fj=Module["dynCall_fj"]=(a0,a1)=>(dynCall_fj=Module["dynCall_fj"]=wasmExports["Vf"])(a0,a1);var dynCall_fjj=Module["dynCall_fjj"]=(a0,a1,a2)=>(dynCall_fjj=Module["dynCall_fjj"]=wasmExports["Wf"])(a0,a1,a2);var dynCall_djj=Module["dynCall_djj"]=(a0,a1,a2)=>(dynCall_djj=Module["dynCall_djj"]=wasmExports["Xf"])(a0,a1,a2);var dynCall_fjjjj=Module["dynCall_fjjjj"]=(a0,a1,a2,a3,a4)=>(dynCall_fjjjj=Module["dynCall_fjjjj"]=wasmExports["Yf"])(a0,a1,a2,a3,a4);var dynCall_fjf=Module["dynCall_fjf"]=(a0,a1,a2)=>(dynCall_fjf=Module["dynCall_fjf"]=wasmExports["Zf"])(a0,a1,a2);var dynCall_jfi=Module["dynCall_jfi"]=(a0,a1,a2)=>(dynCall_jfi=Module["dynCall_jfi"]=wasmExports["_f"])(a0,a1,a2);var dynCall_vjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)=>(dynCall_vjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjj"]=wasmExports["$f"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);var dynCall_vjjjjjjjjjj=Module["dynCall_vjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_vjjjjjjjjjj=Module["dynCall_vjjjjjjjjjj"]=wasmExports["ag"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_vjjjjjjjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20)=>(dynCall_vjjjjjjjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjjjjjjjj"]=wasmExports["bg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20);var dynCall_vjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)=>(dynCall_vjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjj"]=wasmExports["cg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);var dynCall_vjjjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_vjjjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjjjj"]=wasmExports["dg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=wasmExports["eg"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjjjjjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19)=>(dynCall_vjjjjjjjjjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjjjjjjjjjj"]=wasmExports["fg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);var dynCall_vjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_vjjjjjjjjjjj=Module["dynCall_vjjjjjjjjjjj"]=wasmExports["gg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_jjjji=Module["dynCall_jjjji"]=(a0,a1,a2,a3,a4)=>(dynCall_jjjji=Module["dynCall_jjjji"]=wasmExports["hg"])(a0,a1,a2,a3,a4);var dynCall_vjjijjijji=Module["dynCall_vjjijjijji"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_vjjijjijji=Module["dynCall_vjjijjijji"]=wasmExports["ig"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_vjijjijji=Module["dynCall_vjijjijji"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_vjijjijji=Module["dynCall_vjijjijji"]=wasmExports["jg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ijf=Module["dynCall_ijf"]=(a0,a1,a2)=>(dynCall_ijf=Module["dynCall_ijf"]=wasmExports["kg"])(a0,a1,a2);var dynCall_fji=Module["dynCall_fji"]=(a0,a1,a2)=>(dynCall_fji=Module["dynCall_fji"]=wasmExports["lg"])(a0,a1,a2);var dynCall_fjji=Module["dynCall_fjji"]=(a0,a1,a2,a3)=>(dynCall_fjji=Module["dynCall_fjji"]=wasmExports["mg"])(a0,a1,a2,a3);var dynCall_vjjf=Module["dynCall_vjjf"]=(a0,a1,a2,a3)=>(dynCall_vjjf=Module["dynCall_vjjf"]=wasmExports["ng"])(a0,a1,a2,a3);var dynCall_vjjjjiii=Module["dynCall_vjjjjiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjjiii=Module["dynCall_vjjjjiii"]=wasmExports["og"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_vjjjjjjjjji=Module["dynCall_vjjjjjjjjji"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_vjjjjjjjjji=Module["dynCall_vjjjjjjjjji"]=wasmExports["pg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_jjjjjji=Module["dynCall_jjjjjji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_jjjjjji=Module["dynCall_jjjjjji"]=wasmExports["qg"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_ijjji=Module["dynCall_ijjji"]=(a0,a1,a2,a3,a4)=>(dynCall_ijjji=Module["dynCall_ijjji"]=wasmExports["rg"])(a0,a1,a2,a3,a4);var dynCall_fjjj=Module["dynCall_fjjj"]=(a0,a1,a2,a3)=>(dynCall_fjjj=Module["dynCall_fjjj"]=wasmExports["sg"])(a0,a1,a2,a3);var dynCall_ijjiiji=Module["dynCall_ijjiiji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_ijjiiji=Module["dynCall_ijjiiji"]=wasmExports["tg"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vjjjjjji=Module["dynCall_vjjjjjji"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_vjjjjjji=Module["dynCall_vjjjjjji"]=wasmExports["ug"])(a0,a1,a2,a3,a4,a5,a6,a7);var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["vg"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["wg"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["xg"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["yg"])();function invoke_vj(index,a1){var sp=stackSave();try{dynCall_vj(Number(index),a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ij(index,a1){var sp=stackSave();try{return dynCall_ij(Number(index),a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jj(index,a1){var sp=stackSave();try{return dynCall_jj(Number(index),a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_vjij(index,a1,a2,a3){var sp=stackSave();try{dynCall_vjij(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jjj(index,a1,a2){var sp=stackSave();try{return dynCall_jjj(Number(index),a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_vjj(index,a1,a2){var sp=stackSave();try{dynCall_vjj(Number(index),a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjii(index,a1,a2,a3){var sp=stackSave();try{dynCall_vjii(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iji(index,a1,a2){var sp=stackSave();try{return dynCall_iji(Number(index),a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjj(index,a1,a2,a3){var sp=stackSave();try{dynCall_vjjj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijjj(index,a1,a2,a3){var sp=stackSave();try{return dynCall_ijjj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_ijji(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jjiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jjiii(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_vjijij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vjijij(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vijjji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijjji(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(Number(index))}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_jjjj(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jjjj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_vijjijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijjijj(Number(index),a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(Number(index),a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vji(index,a1,a2){var sp=stackSave();try{dynCall_vji(Number(index),a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2){var sp=stackSave();try{dynCall_vij(Number(index),a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjijiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vjijiji(Number(index),a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jjjjj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jjjjj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_ijj(index,a1,a2){var sp=stackSave();try{return dynCall_ijj(Number(index),a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijjjjjjjjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_ijjjjjjjjj(Number(index),a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijjjjj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_ijjjjj(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjiii(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjjji(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijjii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_ijjii(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjjiiiiij(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vjjjiiiiij(Number(index),a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(Number(index))}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjjj(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjjjj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vjjiii(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjidd(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjidd(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijjjj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_ijjjj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjjjj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vjjjjj(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_vjjiiiiiii(Number(index),a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper___PP=f=>(a0,a1,a2)=>f(a0,BigInt(a1?a1:0),BigInt(a2?a2:0));var makeWrapper__p=f=>a0=>f(BigInt(a0));var makeWrapper_pp=f=>a0=>Number(f(BigInt(a0)));var makeWrapper_p=f=>()=>Number(f());var makeWrapper__p_____=f=>(a0,a1,a2,a3,a4,a5)=>f(BigInt(a0),a1,a2,a3,a4,a5);var makeWrapper_ppp=f=>(a0,a1)=>Number(f(BigInt(a0),BigInt(a1)));var makeWrapper___p_p_=f=>(a0,a1,a2,a3,a4)=>f(a0,BigInt(a1),a2,BigInt(a3),a4);var makeWrapper__pp_pp=f=>(a0,a1,a2,a3,a4)=>f(BigInt(a0),BigInt(a1),a2,BigInt(a3),BigInt(a4));var makeWrapper__pp=f=>(a0,a1)=>f(BigInt(a0),BigInt(a1));var makeWrapper__p__=f=>(a0,a1,a2)=>f(BigInt(a0),a1,a2);var makeWrapper__p___=f=>(a0,a1,a2,a3)=>f(BigInt(a0),a1,a2,a3);var makeWrapper__p_=f=>(a0,a1)=>f(BigInt(a0),a1);var makeWrapper__p____=f=>(a0,a1,a2,a3,a4)=>f(BigInt(a0),a1,a2,a3,a4);var makeWrapper__p______=f=>(a0,a1,a2,a3,a4,a5,a6)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6);var makeWrapper__p________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8);var makeWrapper__p__________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var makeWrapper__p_________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9);var makeWrapper__p_____________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);var makeWrapper__p_______=f=>(a0,a1,a2,a3,a4,a5,a6,a7)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7);var makeWrapper__p___________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var makeWrapper__p____________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);var makeWrapper__p__________________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);var makeWrapper__p___________________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);var makeWrapper__p_______________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);var makeWrapper__p______________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);var makeWrapper__p____________________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20);var makeWrapper__p________________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);wasmExports["Fc"]=makeWrapper___PP(wasmExports["Fc"]);wasmExports["Gc"]=makeWrapper__p(wasmExports["Gc"]);wasmExports["Hc"]=makeWrapper_pp(wasmExports["Hc"]);wasmExports["Ic"]=makeWrapper__p(wasmExports["Ic"]);wasmExports["Jc"]=makeWrapper_p(wasmExports["Jc"]);wasmExports["Kc"]=makeWrapper_pp(wasmExports["Kc"]);wasmExports["Nc"]=makeWrapper__p_____(wasmExports["Nc"]);wasmExports["Pc"]=makeWrapper_ppp(wasmExports["Pc"]);wasmExports["Qc"]=makeWrapper___p_p_(wasmExports["Qc"]);wasmExports["Rc"]=makeWrapper__p(wasmExports["Rc"]);wasmExports["Sc"]=makeWrapper__p(wasmExports["Sc"]);wasmExports["memalign"]=makeWrapper_ppp(wasmExports["memalign"]);wasmExports["__cxa_decrement_exception_refcount"]=makeWrapper__p(wasmExports["__cxa_decrement_exception_refcount"]);wasmExports["__cxa_increment_exception_refcount"]=makeWrapper__p(wasmExports["__cxa_increment_exception_refcount"]);wasmExports["__cxa_get_exception_ptr"]=makeWrapper_pp(wasmExports["__cxa_get_exception_ptr"]);wasmExports["Vc"]=makeWrapper__pp_pp(wasmExports["Vc"]);wasmExports["Wc"]=makeWrapper__p(wasmExports["Wc"]);wasmExports["Xc"]=makeWrapper__pp(wasmExports["Xc"]);wasmExports["Yc"]=makeWrapper__p(wasmExports["Yc"]);wasmExports["Zc"]=makeWrapper_pp(wasmExports["Zc"]);wasmExports["_c"]=makeWrapper_p(wasmExports["_c"]);wasmExports["$c"]=makeWrapper__p__(wasmExports["$c"]);wasmExports["ad"]=makeWrapper__p___(wasmExports["ad"]);wasmExports["bd"]=makeWrapper__p(wasmExports["bd"]);wasmExports["cd"]=makeWrapper__p_(wasmExports["cd"]);wasmExports["dd"]=makeWrapper__p___(wasmExports["dd"]);wasmExports["ed"]=makeWrapper__p__(wasmExports["ed"]);wasmExports["fd"]=makeWrapper__p_(wasmExports["fd"]);wasmExports["gd"]=makeWrapper__p__(wasmExports["gd"]);wasmExports["hd"]=makeWrapper__p____(wasmExports["hd"]);wasmExports["id"]=makeWrapper__p___(wasmExports["id"]);wasmExports["jd"]=makeWrapper__p__(wasmExports["jd"]);wasmExports["kd"]=makeWrapper__p_(wasmExports["kd"]);wasmExports["ld"]=makeWrapper__p__(wasmExports["ld"]);wasmExports["md"]=makeWrapper__p___(wasmExports["md"]);wasmExports["nd"]=makeWrapper__p____(wasmExports["nd"]);wasmExports["od"]=makeWrapper__p_____(wasmExports["od"]);wasmExports["pd"]=makeWrapper__p___(wasmExports["pd"]);wasmExports["qd"]=makeWrapper__p____(wasmExports["qd"]);wasmExports["rd"]=makeWrapper__p______(wasmExports["rd"]);wasmExports["sd"]=makeWrapper__p________(wasmExports["sd"]);wasmExports["td"]=makeWrapper__p______(wasmExports["td"]);wasmExports["ud"]=makeWrapper__p______(wasmExports["ud"]);wasmExports["vd"]=makeWrapper__p________(wasmExports["vd"]);wasmExports["wd"]=makeWrapper__p____(wasmExports["wd"]);wasmExports["xd"]=makeWrapper__p___(wasmExports["xd"]);wasmExports["yd"]=makeWrapper__p________(wasmExports["yd"]);wasmExports["zd"]=makeWrapper__p__________(wasmExports["zd"]);wasmExports["Ad"]=makeWrapper__p_________(wasmExports["Ad"]);wasmExports["Bd"]=makeWrapper__p_________(wasmExports["Bd"]);wasmExports["Cd"]=makeWrapper__p_________(wasmExports["Cd"]);wasmExports["Dd"]=makeWrapper__p_____(wasmExports["Dd"]);wasmExports["Ed"]=makeWrapper__p____(wasmExports["Ed"]);wasmExports["Fd"]=makeWrapper__p_____________(wasmExports["Fd"]);wasmExports["Gd"]=makeWrapper__p_________(wasmExports["Gd"]);wasmExports["Hd"]=makeWrapper__p__________(wasmExports["Hd"]);wasmExports["Id"]=makeWrapper__p____(wasmExports["Id"]);wasmExports["Jd"]=makeWrapper__p_____(wasmExports["Jd"]);wasmExports["Kd"]=makeWrapper__p____(wasmExports["Kd"]);wasmExports["Ld"]=makeWrapper__p_____(wasmExports["Ld"]);wasmExports["Md"]=makeWrapper__p____(wasmExports["Md"]);wasmExports["Nd"]=makeWrapper__p____(wasmExports["Nd"]);wasmExports["Od"]=makeWrapper__p____(wasmExports["Od"]);wasmExports["Pd"]=makeWrapper__p________(wasmExports["Pd"]);wasmExports["Qd"]=makeWrapper__p___(wasmExports["Qd"]);wasmExports["Rd"]=makeWrapper__p________(wasmExports["Rd"]);wasmExports["Sd"]=makeWrapper__p__________(wasmExports["Sd"]);wasmExports["Td"]=makeWrapper__p________(wasmExports["Td"]);wasmExports["Ud"]=makeWrapper__p_________(wasmExports["Ud"]);wasmExports["Vd"]=makeWrapper__p_______(wasmExports["Vd"]);wasmExports["Wd"]=makeWrapper__p___________(wasmExports["Wd"]);wasmExports["Xd"]=makeWrapper__p__(wasmExports["Xd"]);wasmExports["Yd"]=makeWrapper__p___(wasmExports["Yd"]);wasmExports["Zd"]=makeWrapper__p___(wasmExports["Zd"]);wasmExports["_d"]=makeWrapper__p___(wasmExports["_d"]);wasmExports["$d"]=makeWrapper__p___(wasmExports["$d"]);wasmExports["ae"]=makeWrapper__p_____(wasmExports["ae"]);wasmExports["be"]=makeWrapper__p_____(wasmExports["be"]);wasmExports["ce"]=makeWrapper__p(wasmExports["ce"]);wasmExports["de"]=makeWrapper__p______(wasmExports["de"]);wasmExports["ee"]=makeWrapper__p_(wasmExports["ee"]);wasmExports["fe"]=makeWrapper__p______(wasmExports["fe"]);wasmExports["ge"]=makeWrapper__p______(wasmExports["ge"]);wasmExports["he"]=makeWrapper__p____(wasmExports["he"]);wasmExports["ie"]=makeWrapper__p_________(wasmExports["ie"]);wasmExports["je"]=makeWrapper__p_____(wasmExports["je"]);wasmExports["ke"]=makeWrapper__p____(wasmExports["ke"]);wasmExports["le"]=makeWrapper__p_________(wasmExports["le"]);wasmExports["me"]=makeWrapper__p_____(wasmExports["me"]);wasmExports["ne"]=makeWrapper__p____(wasmExports["ne"]);wasmExports["oe"]=makeWrapper__p____(wasmExports["oe"]);wasmExports["pe"]=makeWrapper__p_________(wasmExports["pe"]);wasmExports["qe"]=makeWrapper__p___(wasmExports["qe"]);wasmExports["re"]=makeWrapper__p______(wasmExports["re"]);wasmExports["se"]=makeWrapper__p_____(wasmExports["se"]);wasmExports["te"]=makeWrapper__p___(wasmExports["te"]);wasmExports["ue"]=makeWrapper__p_____(wasmExports["ue"]);wasmExports["ve"]=makeWrapper__p________(wasmExports["ve"]);wasmExports["we"]=makeWrapper__p______(wasmExports["we"]);wasmExports["xe"]=makeWrapper__p_____(wasmExports["xe"]);wasmExports["ye"]=makeWrapper__p_____(wasmExports["ye"]);wasmExports["ze"]=makeWrapper__p______(wasmExports["ze"]);wasmExports["Ae"]=makeWrapper__p________(wasmExports["Ae"]);wasmExports["Be"]=makeWrapper__p_______(wasmExports["Be"]);wasmExports["Ce"]=makeWrapper__p_______(wasmExports["Ce"]);wasmExports["De"]=makeWrapper__p_______(wasmExports["De"]);wasmExports["Ee"]=makeWrapper__p______(wasmExports["Ee"]);wasmExports["Fe"]=makeWrapper__p______(wasmExports["Fe"]);wasmExports["Ge"]=makeWrapper__p___(wasmExports["Ge"]);wasmExports["He"]=makeWrapper__p_______(wasmExports["He"]);wasmExports["Ie"]=makeWrapper__p_____(wasmExports["Ie"]);wasmExports["Je"]=makeWrapper__p_____(wasmExports["Je"]);wasmExports["Ke"]=makeWrapper__p_____(wasmExports["Ke"]);wasmExports["Le"]=makeWrapper__p______(wasmExports["Le"]);wasmExports["Me"]=makeWrapper__p___(wasmExports["Me"]);wasmExports["Ne"]=makeWrapper__p___(wasmExports["Ne"]);wasmExports["Oe"]=makeWrapper__p____(wasmExports["Oe"]);wasmExports["Pe"]=makeWrapper__p________(wasmExports["Pe"]);wasmExports["Qe"]=makeWrapper__p______(wasmExports["Qe"]);wasmExports["Re"]=makeWrapper__p__(wasmExports["Re"]);wasmExports["Se"]=makeWrapper__p____(wasmExports["Se"]);wasmExports["Te"]=makeWrapper__p______(wasmExports["Te"]);wasmExports["Ue"]=makeWrapper__p_______(wasmExports["Ue"]);wasmExports["Ve"]=makeWrapper__p___(wasmExports["Ve"]);wasmExports["We"]=makeWrapper__p____(wasmExports["We"]);wasmExports["Xe"]=makeWrapper__p______(wasmExports["Xe"]);wasmExports["Ye"]=makeWrapper__p_____(wasmExports["Ye"]);wasmExports["Ze"]=makeWrapper__p_____________(wasmExports["Ze"]);wasmExports["_e"]=makeWrapper__p_______(wasmExports["_e"]);wasmExports["$e"]=makeWrapper__p__________(wasmExports["$e"]);wasmExports["af"]=makeWrapper__p___________(wasmExports["af"]);wasmExports["bf"]=makeWrapper__p____________(wasmExports["bf"]);wasmExports["cf"]=makeWrapper__p_____(wasmExports["cf"]);wasmExports["df"]=makeWrapper__p__________________(wasmExports["df"]);wasmExports["ef"]=makeWrapper__p_________(wasmExports["ef"]);wasmExports["ff"]=makeWrapper__p___________________(wasmExports["ff"]);wasmExports["gf"]=makeWrapper__p________(wasmExports["gf"]);wasmExports["hf"]=makeWrapper__p_______(wasmExports["hf"]);wasmExports["jf"]=makeWrapper__p___________(wasmExports["jf"]);wasmExports["kf"]=makeWrapper__p_______________(wasmExports["kf"]);wasmExports["lf"]=makeWrapper__p_____________(wasmExports["lf"]);wasmExports["mf"]=makeWrapper__p_________(wasmExports["mf"]);wasmExports["nf"]=makeWrapper__p__(wasmExports["nf"]);wasmExports["of"]=makeWrapper__p___(wasmExports["of"]);wasmExports["pf"]=makeWrapper__p_____(wasmExports["pf"]);wasmExports["qf"]=makeWrapper__p________(wasmExports["qf"]);wasmExports["rf"]=makeWrapper__p__(wasmExports["rf"]);wasmExports["sf"]=makeWrapper__p_______(wasmExports["sf"]);wasmExports["tf"]=makeWrapper__p_____(wasmExports["tf"]);wasmExports["uf"]=makeWrapper__p___(wasmExports["uf"]);wasmExports["vf"]=makeWrapper__p____(wasmExports["vf"]);wasmExports["wf"]=makeWrapper__p____(wasmExports["wf"]);wasmExports["xf"]=makeWrapper__p____(wasmExports["xf"]);wasmExports["yf"]=makeWrapper__p______(wasmExports["yf"]);wasmExports["zf"]=makeWrapper__p_(wasmExports["zf"]);wasmExports["Af"]=makeWrapper__p_______(wasmExports["Af"]);wasmExports["Bf"]=makeWrapper__p_________(wasmExports["Bf"]);wasmExports["Cf"]=makeWrapper__p________(wasmExports["Cf"]);wasmExports["Df"]=makeWrapper__p_____(wasmExports["Df"]);wasmExports["Ef"]=makeWrapper__p____________(wasmExports["Ef"]);wasmExports["Ff"]=makeWrapper__p______(wasmExports["Ff"]);wasmExports["Gf"]=makeWrapper__p______(wasmExports["Gf"]);wasmExports["Hf"]=makeWrapper__p__________(wasmExports["Hf"]);wasmExports["If"]=makeWrapper__p____(wasmExports["If"]);wasmExports["Jf"]=makeWrapper__p_____(wasmExports["Jf"]);wasmExports["Kf"]=makeWrapper__p_____________(wasmExports["Kf"]);wasmExports["Lf"]=makeWrapper__p______(wasmExports["Lf"]);wasmExports["Mf"]=makeWrapper__p____(wasmExports["Mf"]);wasmExports["Nf"]=makeWrapper__p_______(wasmExports["Nf"]);wasmExports["Of"]=makeWrapper__p______(wasmExports["Of"]);wasmExports["Pf"]=makeWrapper__p____(wasmExports["Pf"]);wasmExports["Qf"]=makeWrapper__p______(wasmExports["Qf"]);wasmExports["Rf"]=makeWrapper__p_______(wasmExports["Rf"]);wasmExports["Sf"]=makeWrapper__p______(wasmExports["Sf"]);wasmExports["Tf"]=makeWrapper__p_____(wasmExports["Tf"]);wasmExports["Uf"]=makeWrapper__p______(wasmExports["Uf"]);wasmExports["Vf"]=makeWrapper__p_(wasmExports["Vf"]);wasmExports["Wf"]=makeWrapper__p__(wasmExports["Wf"]);wasmExports["Xf"]=makeWrapper__p__(wasmExports["Xf"]);wasmExports["Yf"]=makeWrapper__p____(wasmExports["Yf"]);wasmExports["Zf"]=makeWrapper__p__(wasmExports["Zf"]);wasmExports["_f"]=makeWrapper__p__(wasmExports["_f"]);wasmExports["$f"]=makeWrapper__p______________(wasmExports["$f"]);wasmExports["ag"]=makeWrapper__p__________(wasmExports["ag"]);wasmExports["bg"]=makeWrapper__p____________________(wasmExports["bg"]);wasmExports["cg"]=makeWrapper__p____________(wasmExports["cg"]);wasmExports["dg"]=makeWrapper__p________________(wasmExports["dg"]);wasmExports["eg"]=makeWrapper__p_______(wasmExports["eg"]);wasmExports["fg"]=makeWrapper__p___________________(wasmExports["fg"]);wasmExports["gg"]=makeWrapper__p___________(wasmExports["gg"]);wasmExports["hg"]=makeWrapper__p____(wasmExports["hg"]);wasmExports["ig"]=makeWrapper__p_________(wasmExports["ig"]);wasmExports["jg"]=makeWrapper__p________(wasmExports["jg"]);wasmExports["kg"]=makeWrapper__p__(wasmExports["kg"]);wasmExports["lg"]=makeWrapper__p__(wasmExports["lg"]);wasmExports["mg"]=makeWrapper__p___(wasmExports["mg"]);wasmExports["ng"]=makeWrapper__p___(wasmExports["ng"]);wasmExports["og"]=makeWrapper__p_______(wasmExports["og"]);wasmExports["pg"]=makeWrapper__p__________(wasmExports["pg"]);wasmExports["qg"]=makeWrapper__p______(wasmExports["qg"]);wasmExports["rg"]=makeWrapper__p____(wasmExports["rg"]);wasmExports["sg"]=makeWrapper__p___(wasmExports["sg"]);wasmExports["tg"]=makeWrapper__p______(wasmExports["tg"]);wasmExports["ug"]=makeWrapper__p_______(wasmExports["ug"]);wasmExports["vg"]=makeWrapper__p(wasmExports["vg"]);wasmExports["xg"]=makeWrapper__p(wasmExports["xg"]);return wasmExports}function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*8);var argv_ptr=argv;args.forEach(arg=>{HEAPU64[argv_ptr/8]=BigInt(stringToUTF8OnStack(arg));argv_ptr+=8});HEAPU64[argv_ptr/8]=BigInt(0);try{var ret=entryFunction(argc,BigInt(argv));exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(ENVIRONMENT_IS_PTHREAD){initRuntime();return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run(); diff --git a/wwwroot/index.wasm b/wwwroot/index.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3495632b7af980b234e4d93ac01dcd517f2a2bf2 --- /dev/null +++ b/wwwroot/index.wasm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a35cde057f5a1116ad6c0ba919190bbba513fc655a3107d2e1742e2f8b2dca5 +size 23180451