diff --git a/Account_SQLite/.config/dotnet-tools.json b/Account_SQLite/.config/dotnet-tools.json
new file mode 100644
index 00000000..517f9b32
--- /dev/null
+++ b/Account_SQLite/.config/dotnet-tools.json
@@ -0,0 +1,5 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {}
+}
\ No newline at end of file
diff --git a/Account_SQLite/Account_SQLite.csproj b/Account_SQLite/Account_SQLite.csproj
index ba120b09..385c9385 100644
--- a/Account_SQLite/Account_SQLite.csproj
+++ b/Account_SQLite/Account_SQLite.csproj
@@ -11,6 +11,8 @@
+
+
diff --git a/Account_SQLite/Pages/_Host.cshtml b/Account_SQLite/Pages/_Host.cshtml
deleted file mode 100644
index 9bca6d84..00000000
--- a/Account_SQLite/Pages/_Host.cshtml
+++ /dev/null
@@ -1,8 +0,0 @@
-@page "/"
-@namespace Account_SQLite.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-@{
- Layout = "_Layout";
-}
-
-
diff --git a/Account_SQLite/Pages/_Host.razor b/Account_SQLite/Pages/_Host.razor
new file mode 100644
index 00000000..9a98150c
--- /dev/null
+++ b/Account_SQLite/Pages/_Host.razor
@@ -0,0 +1,2 @@
+@page "/"
+@using Account_SQLite.Pages
diff --git a/Account_SQLite/Pages/_Layout.cshtml b/Account_SQLite/Pages/_Layout.cshtml
deleted file mode 100644
index 9a6c45d7..00000000
--- a/Account_SQLite/Pages/_Layout.cshtml
+++ /dev/null
@@ -1,32 +0,0 @@
-@using Microsoft.AspNetCore.Components.Web
-@namespace Account_SQLite.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
- @RenderBody()
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Account_SQLite/Pages/_Layout.razor b/Account_SQLite/Pages/_Layout.razor
new file mode 100644
index 00000000..92e0e8b9
--- /dev/null
+++ b/Account_SQLite/Pages/_Layout.razor
@@ -0,0 +1,2 @@
+@using Microsoft.AspNetCore.Components.Web
+@using Account_SQLite.Pages
\ No newline at end of file
diff --git a/Account_SQLite/Program.cs b/Account_SQLite/Program.cs
index b247d036..eb9579e5 100644
--- a/Account_SQLite/Program.cs
+++ b/Account_SQLite/Program.cs
@@ -13,4 +13,6 @@ builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.
builder.Services.AddSqliteWasmDbContextFactory(
opts => opts.UseSqlite("Data Source=blazor_todo.sqlite3"));
-await builder.Build().RunAsync();
\ No newline at end of file
+await builder.Build().RunAsync();
+
+var app = builder.Build();
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite b/Account_SQLite/bin/Debug/net6.0/Account_SQLite
deleted file mode 100755
index 1b5307ea..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/Account_SQLite and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite 2.dll b/Account_SQLite/bin/Debug/net6.0/Account_SQLite 2.dll
new file mode 100644
index 00000000..62037181
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Account_SQLite 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite 2.pdb b/Account_SQLite/bin/Debug/net6.0/Account_SQLite 2.pdb
new file mode 100644
index 00000000..625c3d0c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Account_SQLite 2.pdb differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.deps.json b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.deps.json
deleted file mode 100644
index 148e5429..00000000
--- a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.deps.json
+++ /dev/null
@@ -1,808 +0,0 @@
-{
- "runtimeTarget": {
- "name": ".NETCoreApp,Version=v6.0",
- "signature": ""
- },
- "compilationOptions": {},
- "targets": {
- ".NETCoreApp,Version=v6.0": {
- "Account_SQLite/1.0.0": {
- "dependencies": {
- "Microsoft.AspNetCore.Components.WebAssembly": "6.0.6",
- "Microsoft.AspNetCore.Components.WebView.WindowsForms": "6.0.400",
- "Microsoft.JSInterop.WebAssembly": "6.0.6",
- "SqliteWasmHelper": "1.0.43-beta-g31b50d1f54"
- },
- "runtime": {
- "Account_SQLite.dll": {}
- }
- },
- "Microsoft.AspNetCore.Authorization/6.0.6": {
- "dependencies": {
- "Microsoft.AspNetCore.Metadata": "6.0.6",
- "Microsoft.Extensions.Logging.Abstractions": "6.0.1",
- "Microsoft.Extensions.Options": "6.0.0"
- },
- "runtime": {
- "lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.AspNetCore.Components/6.0.6": {
- "dependencies": {
- "Microsoft.AspNetCore.Authorization": "6.0.6",
- "Microsoft.AspNetCore.Components.Analyzers": "6.0.6"
- },
- "runtime": {
- "lib/net6.0/Microsoft.AspNetCore.Components.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.AspNetCore.Components.Analyzers/6.0.6": {},
- "Microsoft.AspNetCore.Components.Forms/6.0.6": {
- "dependencies": {
- "Microsoft.AspNetCore.Components": "6.0.6"
- },
- "runtime": {
- "lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.AspNetCore.Components.Web/6.0.6": {
- "dependencies": {
- "Microsoft.AspNetCore.Components": "6.0.6",
- "Microsoft.AspNetCore.Components.Forms": "6.0.6",
- "Microsoft.Extensions.DependencyInjection": "6.0.0",
- "Microsoft.JSInterop": "6.0.6",
- "System.IO.Pipelines": "6.0.3"
- },
- "runtime": {
- "lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.AspNetCore.Components.WebAssembly/6.0.6": {
- "dependencies": {
- "Microsoft.AspNetCore.Components.Web": "6.0.6",
- "Microsoft.Extensions.Configuration.Binder": "6.0.0",
- "Microsoft.Extensions.Configuration.Json": "6.0.0",
- "Microsoft.Extensions.Logging": "6.0.0",
- "Microsoft.JSInterop.WebAssembly": "6.0.6"
- },
- "runtime": {
- "lib/net6.0/Microsoft.AspNetCore.Components.WebAssembly.dll": {
- "assemblyVersion": "6.0.6.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.AspNetCore.Components.WebView.WindowsForms/6.0.400": {},
- "Microsoft.AspNetCore.Metadata/6.0.6": {
- "runtime": {
- "lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.Data.Sqlite.Core/6.0.4": {
- "dependencies": {
- "SQLitePCLRaw.core": "2.1.0-pre20220318192836"
- },
- "runtime": {
- "lib/net6.0/Microsoft.Data.Sqlite.dll": {
- "assemblyVersion": "6.0.4.0",
- "fileVersion": "6.0.422.16106"
- }
- }
- },
- "Microsoft.EntityFrameworkCore/6.0.4": {
- "dependencies": {
- "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4",
- "Microsoft.EntityFrameworkCore.Analyzers": "6.0.4",
- "Microsoft.Extensions.Caching.Memory": "6.0.1",
- "Microsoft.Extensions.DependencyInjection": "6.0.0",
- "Microsoft.Extensions.Logging": "6.0.0",
- "System.Collections.Immutable": "6.0.0",
- "System.Diagnostics.DiagnosticSource": "6.0.0"
- },
- "runtime": {
- "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
- "assemblyVersion": "6.0.4.0",
- "fileVersion": "6.0.422.16106"
- }
- }
- },
- "Microsoft.EntityFrameworkCore.Abstractions/6.0.4": {
- "runtime": {
- "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
- "assemblyVersion": "6.0.4.0",
- "fileVersion": "6.0.422.16106"
- }
- }
- },
- "Microsoft.EntityFrameworkCore.Analyzers/6.0.4": {},
- "Microsoft.EntityFrameworkCore.Relational/6.0.4": {
- "dependencies": {
- "Microsoft.EntityFrameworkCore": "6.0.4",
- "Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
- },
- "runtime": {
- "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": {
- "assemblyVersion": "6.0.4.0",
- "fileVersion": "6.0.422.16106"
- }
- }
- },
- "Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.4": {
- "dependencies": {
- "Microsoft.Data.Sqlite.Core": "6.0.4",
- "Microsoft.EntityFrameworkCore.Relational": "6.0.4",
- "Microsoft.Extensions.DependencyModel": "6.0.0"
- },
- "runtime": {
- "lib/net6.0/Microsoft.EntityFrameworkCore.Sqlite.dll": {
- "assemblyVersion": "6.0.4.0",
- "fileVersion": "6.0.422.16106"
- }
- }
- },
- "Microsoft.Extensions.Caching.Abstractions/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.Caching.Memory/6.0.1": {
- "dependencies": {
- "Microsoft.Extensions.Caching.Abstractions": "6.0.0",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "6.0.1",
- "Microsoft.Extensions.Options": "6.0.0",
- "Microsoft.Extensions.Primitives": "6.0.0"
- },
- "runtime": {
- "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.222.6406"
- }
- }
- },
- "Microsoft.Extensions.Configuration/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.Configuration.Binder/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Configuration": "6.0.0",
- "Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
- "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
- "Microsoft.Extensions.FileProviders.Physical": "6.0.0",
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.Configuration.Json/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Configuration": "6.0.0",
- "Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
- "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0",
- "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
- "System.Text.Json": "6.0.0"
- }
- },
- "Microsoft.Extensions.DependencyInjection/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
- "System.Runtime.CompilerServices.Unsafe": "6.0.0"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {},
- "Microsoft.Extensions.DependencyModel/6.0.0": {
- "dependencies": {
- "System.Buffers": "4.5.1",
- "System.Memory": "4.5.4",
- "System.Runtime.CompilerServices.Unsafe": "6.0.0",
- "System.Text.Encodings.Web": "6.0.0",
- "System.Text.Json": "6.0.0"
- },
- "runtime": {
- "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.21.52210"
- }
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
- "Microsoft.Extensions.FileSystemGlobbing": "6.0.0",
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing/6.0.0": {},
- "Microsoft.Extensions.Logging/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "6.0.0",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "6.0.1",
- "Microsoft.Extensions.Options": "6.0.0",
- "System.Diagnostics.DiagnosticSource": "6.0.0"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions/6.0.1": {
- "runtime": {
- "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.322.12309"
- }
- }
- },
- "Microsoft.Extensions.Options/6.0.0": {
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- },
- "Microsoft.Extensions.Primitives/6.0.0": {
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.0.0"
- }
- },
- "Microsoft.JSInterop/6.0.6": {
- "runtime": {
- "lib/net6.0/Microsoft.JSInterop.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "Microsoft.JSInterop.WebAssembly/6.0.6": {
- "dependencies": {
- "Microsoft.JSInterop": "6.0.6"
- },
- "runtime": {
- "lib/net6.0/Microsoft.JSInterop.WebAssembly.dll": {
- "assemblyVersion": "6.0.6.0",
- "fileVersion": "6.0.622.26805"
- }
- }
- },
- "SQLitePCLRaw.bundle_e_sqlite3/2.1.0-pre20220318192836": {
- "dependencies": {
- "SQLitePCLRaw.lib.e_sqlite3": "2.1.0-pre20220318192836",
- "SQLitePCLRaw.provider.e_sqlite3": "2.1.0-pre20220318192836"
- },
- "runtime": {
- "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {
- "assemblyVersion": "2.1.0.1537",
- "fileVersion": "2.1.0.1537"
- }
- }
- },
- "SQLitePCLRaw.core/2.1.0-pre20220318192836": {
- "dependencies": {
- "System.Memory": "4.5.4"
- },
- "runtime": {
- "lib/netstandard2.0/SQLitePCLRaw.core.dll": {
- "assemblyVersion": "2.1.0.1537",
- "fileVersion": "2.1.0.1537"
- }
- }
- },
- "SQLitePCLRaw.lib.e_sqlite3/2.1.0-pre20220318192836": {
- "runtimeTargets": {
- "runtimes/alpine-arm/native/libe_sqlite3.so": {
- "rid": "alpine-arm",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/alpine-arm64/native/libe_sqlite3.so": {
- "rid": "alpine-arm64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/alpine-x64/native/libe_sqlite3.so": {
- "rid": "alpine-x64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/browser-wasm/nativeassets/net6.0/e_sqlite3.a": {
- "rid": "browser-wasm",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-arm/native/libe_sqlite3.so": {
- "rid": "linux-arm",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-arm64/native/libe_sqlite3.so": {
- "rid": "linux-arm64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-armel/native/libe_sqlite3.so": {
- "rid": "linux-armel",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-mips64/native/libe_sqlite3.so": {
- "rid": "linux-mips64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-musl-arm/native/libe_sqlite3.so": {
- "rid": "linux-musl-arm",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-musl-arm64/native/libe_sqlite3.so": {
- "rid": "linux-musl-arm64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-musl-x64/native/libe_sqlite3.so": {
- "rid": "linux-musl-x64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-s390x/native/libe_sqlite3.so": {
- "rid": "linux-s390x",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-x64/native/libe_sqlite3.so": {
- "rid": "linux-x64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/linux-x86/native/libe_sqlite3.so": {
- "rid": "linux-x86",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/osx-arm64/native/libe_sqlite3.dylib": {
- "rid": "osx-arm64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/osx-x64/native/libe_sqlite3.dylib": {
- "rid": "osx-x64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/win-arm/native/e_sqlite3.dll": {
- "rid": "win-arm",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/win-arm64/native/e_sqlite3.dll": {
- "rid": "win-arm64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/win-x64/native/e_sqlite3.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/win-x86/native/e_sqlite3.dll": {
- "rid": "win-x86",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- }
- }
- },
- "SQLitePCLRaw.provider.e_sqlite3/2.1.0-pre20220318192836": {
- "dependencies": {
- "SQLitePCLRaw.core": "2.1.0-pre20220318192836"
- },
- "runtime": {
- "lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll": {
- "assemblyVersion": "2.1.0.1537",
- "fileVersion": "2.1.0.1537"
- }
- }
- },
- "SqliteWasmHelper/1.0.43-beta-g31b50d1f54": {
- "dependencies": {
- "Microsoft.AspNetCore.Components.Web": "6.0.6",
- "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.4",
- "SQLitePCLRaw.bundle_e_sqlite3": "2.1.0-pre20220318192836"
- },
- "runtime": {
- "lib/net6.0/SqliteWasmHelper.dll": {
- "assemblyVersion": "1.0.0.0",
- "fileVersion": "1.0.43.46385"
- }
- }
- },
- "System.Buffers/4.5.1": {},
- "System.Collections.Immutable/6.0.0": {
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.0.0"
- }
- },
- "System.Diagnostics.DiagnosticSource/6.0.0": {
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.0.0"
- }
- },
- "System.IO.Pipelines/6.0.3": {
- "runtime": {
- "lib/net6.0/System.IO.Pipelines.dll": {
- "assemblyVersion": "6.0.0.0",
- "fileVersion": "6.0.522.21309"
- }
- }
- },
- "System.Memory/4.5.4": {},
- "System.Runtime.CompilerServices.Unsafe/6.0.0": {},
- "System.Text.Encodings.Web/6.0.0": {
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.0.0"
- }
- },
- "System.Text.Json/6.0.0": {
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.0.0",
- "System.Text.Encodings.Web": "6.0.0"
- }
- }
- }
- },
- "libraries": {
- "Account_SQLite/1.0.0": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "Microsoft.AspNetCore.Authorization/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-DCNGiX7YDM53RjMhVuEOX3IcoRg0SEVDVFdWTMCcXfehxZfTaVqvlNIzCXM/Jx1pUpguNJn7ryUlcgTJtUqZjQ==",
- "path": "microsoft.aspnetcore.authorization/6.0.6",
- "hashPath": "microsoft.aspnetcore.authorization.6.0.6.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Components/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-S050RxIGiFyPLt3Y9Qp8swRpmbjK6g6xEN/ka68pRR9cA07IXkRRro3FYyh8zDJS4zidTGbXyusbktFLwnQdzg==",
- "path": "microsoft.aspnetcore.components/6.0.6",
- "hashPath": "microsoft.aspnetcore.components.6.0.6.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Components.Analyzers/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-bbnOX8dkEmlKDoUq/Zoeg5t6mwnOS9Jlxto0KKjqgpeHuCHHLSqLI8HNpAKmY21OUTkMuwIVgf7hm128a/n5nw==",
- "path": "microsoft.aspnetcore.components.analyzers/6.0.6",
- "hashPath": "microsoft.aspnetcore.components.analyzers.6.0.6.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Components.Forms/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-FGppLMwZbsilbqQSWD/+bgiloeRyBZvQZ+q6L9tM8MlC3u/LGWF44xW5m1+13GtMg2j3d83cGDxydq1Fp8qK7Q==",
- "path": "microsoft.aspnetcore.components.forms/6.0.6",
- "hashPath": "microsoft.aspnetcore.components.forms.6.0.6.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Components.Web/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-B/CD2BSon0F6jJ4MMl7vMPZ/UAjwtD0D10lLTCVr06eRMMIXQcLgHI6lKBgVr1tWcqz/G2t6DhGXgJcfkEUltg==",
- "path": "microsoft.aspnetcore.components.web/6.0.6",
- "hashPath": "microsoft.aspnetcore.components.web.6.0.6.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Components.WebAssembly/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-IREjJUTPY0qb24w/Q/PuPATwbamqO5VyNASMkcihhTD8ZQeEFoPzfmHGPNegDHcD/16UXwbuxwMHMxic9oa/3w==",
- "path": "microsoft.aspnetcore.components.webassembly/6.0.6",
- "hashPath": "microsoft.aspnetcore.components.webassembly.6.0.6.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Components.WebView.WindowsForms/6.0.400": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-ZCVzaboHA1kXSWSqZGVuBysTaE5sDhkWoja3wMGq8ihOLDTXpj+/ozImjtB/MxsTGgVQ0xVQPUMoYYTuDK8JeQ==",
- "path": "microsoft.aspnetcore.components.webview.windowsforms/6.0.400",
- "hashPath": "microsoft.aspnetcore.components.webview.windowsforms.6.0.400.nupkg.sha512"
- },
- "Microsoft.AspNetCore.Metadata/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-OEj19liYLOyaEgPIgBtaCMPk8AhjxqJZ8aWiZ3g3NZoe8YG5OtL+z4AVVLSqRCDoyVxKQaleyX+SoFHvqvemNA==",
- "path": "microsoft.aspnetcore.metadata/6.0.6",
- "hashPath": "microsoft.aspnetcore.metadata.6.0.6.nupkg.sha512"
- },
- "Microsoft.Data.Sqlite.Core/6.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-3TZX7R2aX1TX5m4A5Kj+SY633NJDeHDP6JiDRCwUnJGKC3IrHgnO8p+oT2hRZpN168qx4Ixe4T9C+xZdZc26gw==",
- "path": "microsoft.data.sqlite.core/6.0.4",
- "hashPath": "microsoft.data.sqlite.core.6.0.4.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore/6.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-gTh3SJsF5WNjEmG32kYc3U4tjeTIv55QOrwHAJcF/xtrIVMteDHMArGC35N0dw86WFY0v8yFkKYKOIOln4jkfQ==",
- "path": "microsoft.entityframeworkcore/6.0.4",
- "hashPath": "microsoft.entityframeworkcore.6.0.4.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore.Abstractions/6.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-jycTQF0FUJp10cGWBmtsyFhQNeISU9CltDRKCaNiX4QRSEFzgRgaFN4vAFK0T+G5etmXugyddijE4NWCGtgznQ==",
- "path": "microsoft.entityframeworkcore.abstractions/6.0.4",
- "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.4.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore.Analyzers/6.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-t12WodVyGGP2CuLo7R1qwcawHY5zlg+GiQzvkceZpsjcFJVyTFFBFDPg1isBtzurLzWsl+G3z5fVXeic90mPxg==",
- "path": "microsoft.entityframeworkcore.analyzers/6.0.4",
- "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.4.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore.Relational/6.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-E867NbEXYRTElBF5ff+1AN5Awa1jkORy/Rrm0ueibaTAV5uw89LsLoH6yTe+b9urZTWMHtLfGd1RDdNjk8+KzA==",
- "path": "microsoft.entityframeworkcore.relational/6.0.4",
- "hashPath": "microsoft.entityframeworkcore.relational.6.0.4.nupkg.sha512"
- },
- "Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-yO6XZA8FQkBLiTtClesWClL3Z1QEqT9vRoDDf/IOPkmsjzjedg2GzkNCauRGk/XnsZZ1qcz55TuJBO+1jNDIaA==",
- "path": "microsoft.entityframeworkcore.sqlite.core/6.0.4",
- "hashPath": "microsoft.entityframeworkcore.sqlite.core.6.0.4.nupkg.sha512"
- },
- "Microsoft.Extensions.Caching.Abstractions/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==",
- "path": "microsoft.extensions.caching.abstractions/6.0.0",
- "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Caching.Memory/6.0.1": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==",
- "path": "microsoft.extensions.caching.memory/6.0.1",
- "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512"
- },
- "Microsoft.Extensions.Configuration/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==",
- "path": "microsoft.extensions.configuration/6.0.0",
- "hashPath": "microsoft.extensions.configuration.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Configuration.Abstractions/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==",
- "path": "microsoft.extensions.configuration.abstractions/6.0.0",
- "hashPath": "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Configuration.Binder/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==",
- "path": "microsoft.extensions.configuration.binder/6.0.0",
- "hashPath": "microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Configuration.FileExtensions/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==",
- "path": "microsoft.extensions.configuration.fileextensions/6.0.0",
- "hashPath": "microsoft.extensions.configuration.fileextensions.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Configuration.Json/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==",
- "path": "microsoft.extensions.configuration.json/6.0.0",
- "hashPath": "microsoft.extensions.configuration.json.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.DependencyInjection/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
- "path": "microsoft.extensions.dependencyinjection/6.0.0",
- "hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==",
- "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0",
- "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.DependencyModel/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==",
- "path": "microsoft.extensions.dependencymodel/6.0.0",
- "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.FileProviders.Abstractions/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==",
- "path": "microsoft.extensions.fileproviders.abstractions/6.0.0",
- "hashPath": "microsoft.extensions.fileproviders.abstractions.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.FileProviders.Physical/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==",
- "path": "microsoft.extensions.fileproviders.physical/6.0.0",
- "hashPath": "microsoft.extensions.fileproviders.physical.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.FileSystemGlobbing/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==",
- "path": "microsoft.extensions.filesystemglobbing/6.0.0",
- "hashPath": "microsoft.extensions.filesystemglobbing.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Logging/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==",
- "path": "microsoft.extensions.logging/6.0.0",
- "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Logging.Abstractions/6.0.1": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==",
- "path": "microsoft.extensions.logging.abstractions/6.0.1",
- "hashPath": "microsoft.extensions.logging.abstractions.6.0.1.nupkg.sha512"
- },
- "Microsoft.Extensions.Options/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
- "path": "microsoft.extensions.options/6.0.0",
- "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512"
- },
- "Microsoft.Extensions.Primitives/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==",
- "path": "microsoft.extensions.primitives/6.0.0",
- "hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512"
- },
- "Microsoft.JSInterop/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-K0z7oazKQS8KLQp4TfSRzqjbg8faI7/3zsRZFOPTeXcEGV9Xao+JK6XDcpgO7XFUDef/6YMurj3BLWXXmNiOSw==",
- "path": "microsoft.jsinterop/6.0.6",
- "hashPath": "microsoft.jsinterop.6.0.6.nupkg.sha512"
- },
- "Microsoft.JSInterop.WebAssembly/6.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-p96ywS1vgXrncnar4hQv5briKlgGfp4NhvZvKVknuMDzyoNythKAVUUv2PVlGRDioiI6UCxQQWVUEh5XmumBJg==",
- "path": "microsoft.jsinterop.webassembly/6.0.6",
- "hashPath": "microsoft.jsinterop.webassembly.6.0.6.nupkg.sha512"
- },
- "SQLitePCLRaw.bundle_e_sqlite3/2.1.0-pre20220318192836": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-bZ94RKsiFJXIVApjlJd5+h3b96/OGAyifOkqQ8f//aJCyGoIqC3AhvYNnDNmRijgrWyczF427HyOrqCsGaQcrg==",
- "path": "sqlitepclraw.bundle_e_sqlite3/2.1.0-pre20220318192836",
- "hashPath": "sqlitepclraw.bundle_e_sqlite3.2.1.0-pre20220318192836.nupkg.sha512"
- },
- "SQLitePCLRaw.core/2.1.0-pre20220318192836": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-A30/f1ykOMDUO8OHoAWK/d5Lrm0TW5Hax3thbLVQ6r8vS6t4jQL5v8uS8PUAcC3hYrZLsISXhcZQckkz4WdmnQ==",
- "path": "sqlitepclraw.core/2.1.0-pre20220318192836",
- "hashPath": "sqlitepclraw.core.2.1.0-pre20220318192836.nupkg.sha512"
- },
- "SQLitePCLRaw.lib.e_sqlite3/2.1.0-pre20220318192836": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-L5YNSA/EmhAtsxfxot6Q/D3CLOy2Yc+Y758w7O1MXvDXZFOpoOoerMNgqzNDm92GWA5LWP070kZxVQn/nGWaJw==",
- "path": "sqlitepclraw.lib.e_sqlite3/2.1.0-pre20220318192836",
- "hashPath": "sqlitepclraw.lib.e_sqlite3.2.1.0-pre20220318192836.nupkg.sha512"
- },
- "SQLitePCLRaw.provider.e_sqlite3/2.1.0-pre20220318192836": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-ZHIhiiDwr4oecowSOJz+tM+g9xLYa5qnM7urvwIZ8eaUeqlVGTi//6sd4yAMSzQ/lubftxzfqc8ZidQ0nUv8XQ==",
- "path": "sqlitepclraw.provider.e_sqlite3/2.1.0-pre20220318192836",
- "hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.0-pre20220318192836.nupkg.sha512"
- },
- "SqliteWasmHelper/1.0.43-beta-g31b50d1f54": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-jKa3mgNaLPqbJgugnaJdT5/MOE5YBjPTBG3aXRXeyZ45Vnm6Kj2P/cmVORDeObH2EPvy9uWYrVJxf0AePxD20Q==",
- "path": "sqlitewasmhelper/1.0.43-beta-g31b50d1f54",
- "hashPath": "sqlitewasmhelper.1.0.43-beta-g31b50d1f54.nupkg.sha512"
- },
- "System.Buffers/4.5.1": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
- "path": "system.buffers/4.5.1",
- "hashPath": "system.buffers.4.5.1.nupkg.sha512"
- },
- "System.Collections.Immutable/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==",
- "path": "system.collections.immutable/6.0.0",
- "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512"
- },
- "System.Diagnostics.DiagnosticSource/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==",
- "path": "system.diagnostics.diagnosticsource/6.0.0",
- "hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512"
- },
- "System.IO.Pipelines/6.0.3": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==",
- "path": "system.io.pipelines/6.0.3",
- "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512"
- },
- "System.Memory/4.5.4": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==",
- "path": "system.memory/4.5.4",
- "hashPath": "system.memory.4.5.4.nupkg.sha512"
- },
- "System.Runtime.CompilerServices.Unsafe/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
- "path": "system.runtime.compilerservices.unsafe/6.0.0",
- "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
- },
- "System.Text.Encodings.Web/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
- "path": "system.text.encodings.web/6.0.0",
- "hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512"
- },
- "System.Text.Json/6.0.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==",
- "path": "system.text.json/6.0.0",
- "hashPath": "system.text.json.6.0.0.nupkg.sha512"
- }
- }
-}
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.dll b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.dll
index 62037181..1fa0ca5b 100644
Binary files a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.dll and b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.pdb b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.pdb
index 625c3d0c..0c8ad345 100644
Binary files a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.pdb and b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.pdb differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.runtimeconfig.json b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.runtimeconfig.json
deleted file mode 100644
index dfb1b77d..00000000
--- a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.runtimeconfig.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "runtimeOptions": {
- "tfm": "net6.0",
- "frameworks": [
- {
- "name": "Microsoft.NETCore.App",
- "version": "6.0.0"
- },
- {
- "name": "Microsoft.AspNetCore.App",
- "version": "6.0.0"
- }
- ],
- "configProperties": {
- "System.GC.Server": true,
- "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
- }
- }
-}
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime 2.json b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime 2.json
new file mode 100644
index 00000000..094e628a
--- /dev/null
+++ b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime 2.json
@@ -0,0 +1 @@
+{"ContentRoots":["/Users/normrasmussen/Documents/Northpass/Account_SQLite/wwwroot/","/Users/normrasmussen/.nuget/packages/sqlitewasmhelper/1.0.43-beta-g31b50d1f54/staticwebassets/","/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/scopedcss/bundle/"],"Root":{"Children":{"browserCache.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"browserCache.js"},"Patterns":null},"css":{"Children":{"app.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/app.css"},"Patterns":null},"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"index.html":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.html"},"Patterns":null},"_content":{"Children":{"SqliteWasmHelper":{"Children":{"browserCache.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"browserCache.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Account_SQLite.styles.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"Account_SQLite.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime.json b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime.json
index 094e628a..00a7c748 100644
--- a/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime.json
+++ b/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime.json
@@ -1 +1 @@
-{"ContentRoots":["/Users/normrasmussen/Documents/Northpass/Account_SQLite/wwwroot/","/Users/normrasmussen/.nuget/packages/sqlitewasmhelper/1.0.43-beta-g31b50d1f54/staticwebassets/","/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/scopedcss/bundle/"],"Root":{"Children":{"browserCache.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"browserCache.js"},"Patterns":null},"css":{"Children":{"app.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/app.css"},"Patterns":null},"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"index.html":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.html"},"Patterns":null},"_content":{"Children":{"SqliteWasmHelper":{"Children":{"browserCache.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"browserCache.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Account_SQLite.styles.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"Account_SQLite.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
+{"ContentRoots":["/Users/normrasmussen/Documents/Northpass/Account_SQLite/wwwroot/","/Users/normrasmussen/.nuget/packages/sqlitewasmhelper/1.0.43-beta-g31b50d1f54/staticwebassets/","/Users/normrasmussen/.nuget/packages/radzen.blazor/3.18.15/staticwebassets/","/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/scopedcss/bundle/","/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/"],"Root":{"Children":{"browserCache.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"browserCache.js"},"Patterns":null},"css":{"Children":{"app.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/app.css"},"Patterns":null},"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"index.html":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"index.html"},"Patterns":null},"_content":{"Children":{"SqliteWasmHelper":{"Children":{"browserCache.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"browserCache.js"},"Patterns":null}},"Asset":null,"Patterns":null},"Radzen.Blazor":{"Children":{"css":{"Children":{"dark-base.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/dark-base.css"},"Patterns":null},"dark.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/dark.css"},"Patterns":null},"default-base.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/default-base.css"},"Patterns":null},"default.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/default.css"},"Patterns":null},"humanistic-base.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/humanistic-base.css"},"Patterns":null},"humanistic.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/humanistic.css"},"Patterns":null},"software-base.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/software-base.css"},"Patterns":null},"software.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/software.css"},"Patterns":null},"standard-base.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/standard-base.css"},"Patterns":null},"standard.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"css/standard.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"MaterialIcons-Regular.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/MaterialIcons-Regular.woff"},"Patterns":null},"roboto-v15-latin-300.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/roboto-v15-latin-300.woff"},"Patterns":null},"roboto-v15-latin-700.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/roboto-v15-latin-700.woff"},"Patterns":null},"roboto-v15-latin-regular.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/roboto-v15-latin-regular.woff"},"Patterns":null},"SourceSansPro-Black.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-Black.woff"},"Patterns":null},"SourceSansPro-BlackIt.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-BlackIt.woff"},"Patterns":null},"SourceSansPro-Bold.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-Bold.woff"},"Patterns":null},"SourceSansPro-BoldIt.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-BoldIt.woff"},"Patterns":null},"SourceSansPro-ExtraLight.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-ExtraLight.woff"},"Patterns":null},"SourceSansPro-ExtraLightIt.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-ExtraLightIt.woff"},"Patterns":null},"SourceSansPro-It.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-It.woff"},"Patterns":null},"SourceSansPro-Light.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-Light.woff"},"Patterns":null},"SourceSansPro-LightIt.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-LightIt.woff"},"Patterns":null},"SourceSansPro-Regular.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-Regular.woff"},"Patterns":null},"SourceSansPro-Semibold.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-Semibold.woff"},"Patterns":null},"SourceSansPro-SemiboldIt.woff":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fonts/SourceSansPro-SemiboldIt.woff"},"Patterns":null}},"Asset":null,"Patterns":null},"Radzen.Blazor.js":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"Radzen.Blazor.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Account_SQLite.styles.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"Account_SQLite.styles.css"},"Patterns":null},"_framework":{"Children":{"Microsoft.AspNetCore.Authorization.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Authorization.dll"},"Patterns":null},"Microsoft.AspNetCore.Components.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.dll"},"Patterns":null},"Microsoft.AspNetCore.Components.Forms.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.Forms.dll"},"Patterns":null},"Microsoft.AspNetCore.Components.Web.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.Web.dll"},"Patterns":null},"Microsoft.AspNetCore.Components.WebAssembly.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.WebAssembly.dll"},"Patterns":null},"Microsoft.AspNetCore.Metadata.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Metadata.dll"},"Patterns":null},"Microsoft.Data.Sqlite.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Data.Sqlite.dll"},"Patterns":null},"Microsoft.EntityFrameworkCore.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.dll"},"Patterns":null},"Microsoft.EntityFrameworkCore.Abstractions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.Abstractions.dll"},"Patterns":null},"Microsoft.EntityFrameworkCore.Relational.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.Relational.dll"},"Patterns":null},"Microsoft.EntityFrameworkCore.Sqlite.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.Sqlite.dll"},"Patterns":null},"Microsoft.Extensions.Caching.Abstractions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Caching.Abstractions.dll"},"Patterns":null},"Microsoft.Extensions.Caching.Memory.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Caching.Memory.dll"},"Patterns":null},"Microsoft.Extensions.Configuration.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.dll"},"Patterns":null},"Microsoft.Extensions.Configuration.Abstractions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.Abstractions.dll"},"Patterns":null},"Microsoft.Extensions.Configuration.Binder.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.Binder.dll"},"Patterns":null},"Microsoft.Extensions.Configuration.FileExtensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.FileExtensions.dll"},"Patterns":null},"Microsoft.Extensions.Configuration.Json.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.Json.dll"},"Patterns":null},"Microsoft.Extensions.DependencyInjection.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.DependencyInjection.dll"},"Patterns":null},"Microsoft.Extensions.DependencyInjection.Abstractions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll"},"Patterns":null},"Microsoft.Extensions.DependencyModel.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.DependencyModel.dll"},"Patterns":null},"Microsoft.Extensions.FileProviders.Abstractions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.FileProviders.Abstractions.dll"},"Patterns":null},"Microsoft.Extensions.FileProviders.Physical.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.FileProviders.Physical.dll"},"Patterns":null},"Microsoft.Extensions.FileSystemGlobbing.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.FileSystemGlobbing.dll"},"Patterns":null},"Microsoft.Extensions.Logging.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Logging.dll"},"Patterns":null},"Microsoft.Extensions.Logging.Abstractions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Logging.Abstractions.dll"},"Patterns":null},"Microsoft.Extensions.Options.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Options.dll"},"Patterns":null},"Microsoft.Extensions.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Primitives.dll"},"Patterns":null},"Microsoft.JSInterop.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.JSInterop.dll"},"Patterns":null},"Microsoft.JSInterop.WebAssembly.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.JSInterop.WebAssembly.dll"},"Patterns":null},"Radzen.Blazor.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Radzen.Blazor.dll"},"Patterns":null},"SQLite.Net.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLite.Net.dll"},"Patterns":null},"SQLitePCLRaw.batteries_v2.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLitePCLRaw.batteries_v2.dll"},"Patterns":null},"SQLitePCLRaw.core.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLitePCLRaw.core.dll"},"Patterns":null},"SQLitePCLRaw.provider.e_sqlite3.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLitePCLRaw.provider.e_sqlite3.dll"},"Patterns":null},"SqliteWasmHelper.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SqliteWasmHelper.dll"},"Patterns":null},"System.IO.Pipelines.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Pipelines.dll"},"Patterns":null},"System.Linq.Dynamic.Core.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Dynamic.Core.dll"},"Patterns":null},"e_sqlite3.a":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/e_sqlite3.a"},"Patterns":null},"Microsoft.CSharp.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.CSharp.dll"},"Patterns":null},"Microsoft.VisualBasic.Core.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.VisualBasic.Core.dll"},"Patterns":null},"Microsoft.VisualBasic.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.VisualBasic.dll"},"Patterns":null},"Microsoft.Win32.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Win32.Primitives.dll"},"Patterns":null},"Microsoft.Win32.Registry.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Win32.Registry.dll"},"Patterns":null},"System.AppContext.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.AppContext.dll"},"Patterns":null},"System.Buffers.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Buffers.dll"},"Patterns":null},"System.Collections.Concurrent.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.Concurrent.dll"},"Patterns":null},"System.Collections.Immutable.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.Immutable.dll"},"Patterns":null},"System.Collections.NonGeneric.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.NonGeneric.dll"},"Patterns":null},"System.Collections.Specialized.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.Specialized.dll"},"Patterns":null},"System.Collections.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.dll"},"Patterns":null},"System.ComponentModel.Annotations.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.Annotations.dll"},"Patterns":null},"System.ComponentModel.DataAnnotations.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.DataAnnotations.dll"},"Patterns":null},"System.ComponentModel.EventBasedAsync.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.EventBasedAsync.dll"},"Patterns":null},"System.ComponentModel.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.Primitives.dll"},"Patterns":null},"System.ComponentModel.TypeConverter.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.TypeConverter.dll"},"Patterns":null},"System.ComponentModel.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.dll"},"Patterns":null},"System.Configuration.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Configuration.dll"},"Patterns":null},"System.Console.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Console.dll"},"Patterns":null},"System.Core.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Core.dll"},"Patterns":null},"System.Data.Common.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Data.Common.dll"},"Patterns":null},"System.Data.DataSetExtensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Data.DataSetExtensions.dll"},"Patterns":null},"System.Data.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Data.dll"},"Patterns":null},"System.Diagnostics.Contracts.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Contracts.dll"},"Patterns":null},"System.Diagnostics.Debug.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Debug.dll"},"Patterns":null},"System.Diagnostics.DiagnosticSource.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.DiagnosticSource.dll"},"Patterns":null},"System.Diagnostics.FileVersionInfo.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.FileVersionInfo.dll"},"Patterns":null},"System.Diagnostics.Process.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Process.dll"},"Patterns":null},"System.Diagnostics.StackTrace.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.StackTrace.dll"},"Patterns":null},"System.Diagnostics.TextWriterTraceListener.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.TextWriterTraceListener.dll"},"Patterns":null},"System.Diagnostics.Tools.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Tools.dll"},"Patterns":null},"System.Diagnostics.TraceSource.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.TraceSource.dll"},"Patterns":null},"System.Diagnostics.Tracing.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Tracing.dll"},"Patterns":null},"System.Drawing.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Drawing.Primitives.dll"},"Patterns":null},"System.Drawing.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Drawing.dll"},"Patterns":null},"System.Dynamic.Runtime.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Dynamic.Runtime.dll"},"Patterns":null},"System.Formats.Asn1.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Formats.Asn1.dll"},"Patterns":null},"System.Globalization.Calendars.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Globalization.Calendars.dll"},"Patterns":null},"System.Globalization.Extensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Globalization.Extensions.dll"},"Patterns":null},"System.Globalization.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Globalization.dll"},"Patterns":null},"System.IO.Compression.Brotli.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.Brotli.dll"},"Patterns":null},"System.IO.Compression.FileSystem.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.FileSystem.dll"},"Patterns":null},"System.IO.Compression.ZipFile.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.ZipFile.dll"},"Patterns":null},"System.IO.Compression.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.dll"},"Patterns":null},"System.IO.FileSystem.AccessControl.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.AccessControl.dll"},"Patterns":null},"System.IO.FileSystem.DriveInfo.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.DriveInfo.dll"},"Patterns":null},"System.IO.FileSystem.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.Primitives.dll"},"Patterns":null},"System.IO.FileSystem.Watcher.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.Watcher.dll"},"Patterns":null},"System.IO.FileSystem.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.dll"},"Patterns":null},"System.IO.IsolatedStorage.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.IsolatedStorage.dll"},"Patterns":null},"System.IO.MemoryMappedFiles.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.MemoryMappedFiles.dll"},"Patterns":null},"System.IO.Pipes.AccessControl.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Pipes.AccessControl.dll"},"Patterns":null},"System.IO.Pipes.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Pipes.dll"},"Patterns":null},"System.IO.UnmanagedMemoryStream.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.UnmanagedMemoryStream.dll"},"Patterns":null},"System.IO.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.dll"},"Patterns":null},"System.Linq.Expressions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Expressions.dll"},"Patterns":null},"System.Linq.Parallel.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Parallel.dll"},"Patterns":null},"System.Linq.Queryable.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Queryable.dll"},"Patterns":null},"System.Linq.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.dll"},"Patterns":null},"System.Memory.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Memory.dll"},"Patterns":null},"System.Net.Http.Json.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Http.Json.dll"},"Patterns":null},"System.Net.Http.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Http.dll"},"Patterns":null},"System.Net.HttpListener.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.HttpListener.dll"},"Patterns":null},"System.Net.Mail.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Mail.dll"},"Patterns":null},"System.Net.NameResolution.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.NameResolution.dll"},"Patterns":null},"System.Net.NetworkInformation.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.NetworkInformation.dll"},"Patterns":null},"System.Net.Ping.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Ping.dll"},"Patterns":null},"System.Net.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Primitives.dll"},"Patterns":null},"System.Net.Quic.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Quic.dll"},"Patterns":null},"System.Net.Requests.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Requests.dll"},"Patterns":null},"System.Net.Security.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Security.dll"},"Patterns":null},"System.Net.ServicePoint.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.ServicePoint.dll"},"Patterns":null},"System.Net.Sockets.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Sockets.dll"},"Patterns":null},"System.Net.WebClient.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebClient.dll"},"Patterns":null},"System.Net.WebHeaderCollection.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebHeaderCollection.dll"},"Patterns":null},"System.Net.WebProxy.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebProxy.dll"},"Patterns":null},"System.Net.WebSockets.Client.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebSockets.Client.dll"},"Patterns":null},"System.Net.WebSockets.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebSockets.dll"},"Patterns":null},"System.Net.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.dll"},"Patterns":null},"System.Numerics.Vectors.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Numerics.Vectors.dll"},"Patterns":null},"System.Numerics.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Numerics.dll"},"Patterns":null},"System.ObjectModel.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ObjectModel.dll"},"Patterns":null},"System.Private.DataContractSerialization.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.DataContractSerialization.dll"},"Patterns":null},"System.Private.Runtime.InteropServices.JavaScript.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Runtime.InteropServices.JavaScript.dll"},"Patterns":null},"System.Private.Uri.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Uri.dll"},"Patterns":null},"System.Private.Xml.Linq.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Xml.Linq.dll"},"Patterns":null},"System.Private.Xml.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Xml.dll"},"Patterns":null},"System.Reflection.DispatchProxy.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.DispatchProxy.dll"},"Patterns":null},"System.Reflection.Emit.ILGeneration.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Emit.ILGeneration.dll"},"Patterns":null},"System.Reflection.Emit.Lightweight.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Emit.Lightweight.dll"},"Patterns":null},"System.Reflection.Emit.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Emit.dll"},"Patterns":null},"System.Reflection.Extensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Extensions.dll"},"Patterns":null},"System.Reflection.Metadata.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Metadata.dll"},"Patterns":null},"System.Reflection.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Primitives.dll"},"Patterns":null},"System.Reflection.TypeExtensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.TypeExtensions.dll"},"Patterns":null},"System.Reflection.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.dll"},"Patterns":null},"System.Resources.Reader.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Resources.Reader.dll"},"Patterns":null},"System.Resources.ResourceManager.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Resources.ResourceManager.dll"},"Patterns":null},"System.Resources.Writer.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Resources.Writer.dll"},"Patterns":null},"System.Runtime.CompilerServices.Unsafe.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.CompilerServices.Unsafe.dll"},"Patterns":null},"System.Runtime.CompilerServices.VisualC.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.CompilerServices.VisualC.dll"},"Patterns":null},"System.Runtime.Extensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Extensions.dll"},"Patterns":null},"System.Runtime.Handles.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Handles.dll"},"Patterns":null},"System.Runtime.InteropServices.RuntimeInformation.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.InteropServices.RuntimeInformation.dll"},"Patterns":null},"System.Runtime.InteropServices.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.InteropServices.dll"},"Patterns":null},"System.Runtime.Intrinsics.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Intrinsics.dll"},"Patterns":null},"System.Runtime.Loader.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Loader.dll"},"Patterns":null},"System.Runtime.Numerics.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Numerics.dll"},"Patterns":null},"System.Runtime.Serialization.Formatters.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Formatters.dll"},"Patterns":null},"System.Runtime.Serialization.Json.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Json.dll"},"Patterns":null},"System.Runtime.Serialization.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Primitives.dll"},"Patterns":null},"System.Runtime.Serialization.Xml.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Xml.dll"},"Patterns":null},"System.Runtime.Serialization.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.dll"},"Patterns":null},"System.Runtime.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.dll"},"Patterns":null},"System.Security.AccessControl.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.AccessControl.dll"},"Patterns":null},"System.Security.Claims.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Claims.dll"},"Patterns":null},"System.Security.Cryptography.Algorithms.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Algorithms.dll"},"Patterns":null},"System.Security.Cryptography.Cng.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Cng.dll"},"Patterns":null},"System.Security.Cryptography.Csp.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Csp.dll"},"Patterns":null},"System.Security.Cryptography.Encoding.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Encoding.dll"},"Patterns":null},"System.Security.Cryptography.OpenSsl.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.OpenSsl.dll"},"Patterns":null},"System.Security.Cryptography.Primitives.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Primitives.dll"},"Patterns":null},"System.Security.Cryptography.X509Certificates.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.X509Certificates.dll"},"Patterns":null},"System.Security.Principal.Windows.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Principal.Windows.dll"},"Patterns":null},"System.Security.Principal.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Principal.dll"},"Patterns":null},"System.Security.SecureString.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.SecureString.dll"},"Patterns":null},"System.Security.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.dll"},"Patterns":null},"System.ServiceModel.Web.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ServiceModel.Web.dll"},"Patterns":null},"System.ServiceProcess.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ServiceProcess.dll"},"Patterns":null},"System.Text.Encoding.CodePages.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encoding.CodePages.dll"},"Patterns":null},"System.Text.Encoding.Extensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encoding.Extensions.dll"},"Patterns":null},"System.Text.Encoding.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encoding.dll"},"Patterns":null},"System.Text.Encodings.Web.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encodings.Web.dll"},"Patterns":null},"System.Text.Json.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Json.dll"},"Patterns":null},"System.Text.RegularExpressions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.RegularExpressions.dll"},"Patterns":null},"System.Threading.Channels.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Channels.dll"},"Patterns":null},"System.Threading.Overlapped.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Overlapped.dll"},"Patterns":null},"System.Threading.Tasks.Dataflow.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.Dataflow.dll"},"Patterns":null},"System.Threading.Tasks.Extensions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.Extensions.dll"},"Patterns":null},"System.Threading.Tasks.Parallel.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.Parallel.dll"},"Patterns":null},"System.Threading.Tasks.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.dll"},"Patterns":null},"System.Threading.Thread.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Thread.dll"},"Patterns":null},"System.Threading.ThreadPool.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.ThreadPool.dll"},"Patterns":null},"System.Threading.Timer.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Timer.dll"},"Patterns":null},"System.Threading.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.dll"},"Patterns":null},"System.Transactions.Local.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Transactions.Local.dll"},"Patterns":null},"System.Transactions.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Transactions.dll"},"Patterns":null},"System.ValueTuple.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ValueTuple.dll"},"Patterns":null},"System.Web.HttpUtility.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Web.HttpUtility.dll"},"Patterns":null},"System.Web.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Web.dll"},"Patterns":null},"System.Windows.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Windows.dll"},"Patterns":null},"System.Xml.Linq.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.Linq.dll"},"Patterns":null},"System.Xml.ReaderWriter.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.ReaderWriter.dll"},"Patterns":null},"System.Xml.Serialization.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.Serialization.dll"},"Patterns":null},"System.Xml.XDocument.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XDocument.dll"},"Patterns":null},"System.Xml.XPath.XDocument.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XPath.XDocument.dll"},"Patterns":null},"System.Xml.XPath.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XPath.dll"},"Patterns":null},"System.Xml.XmlDocument.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XmlDocument.dll"},"Patterns":null},"System.Xml.XmlSerializer.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XmlSerializer.dll"},"Patterns":null},"System.Xml.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.dll"},"Patterns":null},"System.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.dll"},"Patterns":null},"WindowsBase.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/WindowsBase.dll"},"Patterns":null},"mscorlib.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/mscorlib.dll"},"Patterns":null},"netstandard.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/netstandard.dll"},"Patterns":null},"System.Private.CoreLib.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.CoreLib.dll"},"Patterns":null},"dotnet.timezones.blat":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/dotnet.timezones.blat"},"Patterns":null},"icudt.dat":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt.dat"},"Patterns":null},"icudt_CJK.dat":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt_CJK.dat"},"Patterns":null},"icudt_EFIGS.dat":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt_EFIGS.dat"},"Patterns":null},"icudt_no_CJK.dat":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt_no_CJK.dat"},"Patterns":null},"dotnet.wasm":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/dotnet.wasm"},"Patterns":null},"dotnet..0qqpqpio55.js":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/dotnet..0qqpqpio55.js"},"Patterns":null},"Account_SQLite.dll":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Account_SQLite.dll"},"Patterns":null},"Account_SQLite.pdb":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Account_SQLite.pdb"},"Patterns":null},"blazor.webassembly.js":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/blazor.webassembly.js"},"Patterns":null},"Microsoft.AspNetCore.Authorization.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Authorization.dll.gz"},"Patterns":null},"Microsoft.AspNetCore.Components.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.dll.gz"},"Patterns":null},"Microsoft.AspNetCore.Components.Forms.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.Forms.dll.gz"},"Patterns":null},"Microsoft.AspNetCore.Components.Web.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.Web.dll.gz"},"Patterns":null},"Microsoft.AspNetCore.Components.WebAssembly.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Components.WebAssembly.dll.gz"},"Patterns":null},"Microsoft.AspNetCore.Metadata.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.AspNetCore.Metadata.dll.gz"},"Patterns":null},"Microsoft.Data.Sqlite.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Data.Sqlite.dll.gz"},"Patterns":null},"Microsoft.EntityFrameworkCore.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.dll.gz"},"Patterns":null},"Microsoft.EntityFrameworkCore.Abstractions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.Abstractions.dll.gz"},"Patterns":null},"Microsoft.EntityFrameworkCore.Relational.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.Relational.dll.gz"},"Patterns":null},"Microsoft.EntityFrameworkCore.Sqlite.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.EntityFrameworkCore.Sqlite.dll.gz"},"Patterns":null},"Microsoft.Extensions.Caching.Abstractions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Caching.Abstractions.dll.gz"},"Patterns":null},"Microsoft.Extensions.Caching.Memory.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Caching.Memory.dll.gz"},"Patterns":null},"Microsoft.Extensions.Configuration.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.dll.gz"},"Patterns":null},"Microsoft.Extensions.Configuration.Abstractions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.Abstractions.dll.gz"},"Patterns":null},"Microsoft.Extensions.Configuration.Binder.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.Binder.dll.gz"},"Patterns":null},"Microsoft.Extensions.Configuration.FileExtensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.FileExtensions.dll.gz"},"Patterns":null},"Microsoft.Extensions.Configuration.Json.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Configuration.Json.dll.gz"},"Patterns":null},"Microsoft.Extensions.DependencyInjection.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.DependencyInjection.dll.gz"},"Patterns":null},"Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz"},"Patterns":null},"Microsoft.Extensions.DependencyModel.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.DependencyModel.dll.gz"},"Patterns":null},"Microsoft.Extensions.FileProviders.Abstractions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.FileProviders.Abstractions.dll.gz"},"Patterns":null},"Microsoft.Extensions.FileProviders.Physical.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.FileProviders.Physical.dll.gz"},"Patterns":null},"Microsoft.Extensions.FileSystemGlobbing.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.FileSystemGlobbing.dll.gz"},"Patterns":null},"Microsoft.Extensions.Logging.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Logging.dll.gz"},"Patterns":null},"Microsoft.Extensions.Logging.Abstractions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Logging.Abstractions.dll.gz"},"Patterns":null},"Microsoft.Extensions.Options.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Options.dll.gz"},"Patterns":null},"Microsoft.Extensions.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Extensions.Primitives.dll.gz"},"Patterns":null},"Microsoft.JSInterop.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.JSInterop.dll.gz"},"Patterns":null},"Microsoft.JSInterop.WebAssembly.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.JSInterop.WebAssembly.dll.gz"},"Patterns":null},"Radzen.Blazor.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Radzen.Blazor.dll.gz"},"Patterns":null},"SQLite.Net.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLite.Net.dll.gz"},"Patterns":null},"SQLitePCLRaw.batteries_v2.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLitePCLRaw.batteries_v2.dll.gz"},"Patterns":null},"SQLitePCLRaw.core.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLitePCLRaw.core.dll.gz"},"Patterns":null},"SQLitePCLRaw.provider.e_sqlite3.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SQLitePCLRaw.provider.e_sqlite3.dll.gz"},"Patterns":null},"SqliteWasmHelper.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/SqliteWasmHelper.dll.gz"},"Patterns":null},"System.IO.Pipelines.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Pipelines.dll.gz"},"Patterns":null},"System.Linq.Dynamic.Core.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Dynamic.Core.dll.gz"},"Patterns":null},"e_sqlite3.a.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/e_sqlite3.a.gz"},"Patterns":null},"Microsoft.CSharp.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.CSharp.dll.gz"},"Patterns":null},"Microsoft.VisualBasic.Core.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.VisualBasic.Core.dll.gz"},"Patterns":null},"Microsoft.VisualBasic.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.VisualBasic.dll.gz"},"Patterns":null},"Microsoft.Win32.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Win32.Primitives.dll.gz"},"Patterns":null},"Microsoft.Win32.Registry.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Microsoft.Win32.Registry.dll.gz"},"Patterns":null},"System.AppContext.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.AppContext.dll.gz"},"Patterns":null},"System.Buffers.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Buffers.dll.gz"},"Patterns":null},"System.Collections.Concurrent.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.Concurrent.dll.gz"},"Patterns":null},"System.Collections.Immutable.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.Immutable.dll.gz"},"Patterns":null},"System.Collections.NonGeneric.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.NonGeneric.dll.gz"},"Patterns":null},"System.Collections.Specialized.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.Specialized.dll.gz"},"Patterns":null},"System.Collections.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Collections.dll.gz"},"Patterns":null},"System.ComponentModel.Annotations.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.Annotations.dll.gz"},"Patterns":null},"System.ComponentModel.DataAnnotations.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.DataAnnotations.dll.gz"},"Patterns":null},"System.ComponentModel.EventBasedAsync.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.EventBasedAsync.dll.gz"},"Patterns":null},"System.ComponentModel.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.Primitives.dll.gz"},"Patterns":null},"System.ComponentModel.TypeConverter.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.TypeConverter.dll.gz"},"Patterns":null},"System.ComponentModel.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ComponentModel.dll.gz"},"Patterns":null},"System.Configuration.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Configuration.dll.gz"},"Patterns":null},"System.Console.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Console.dll.gz"},"Patterns":null},"System.Core.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Core.dll.gz"},"Patterns":null},"System.Data.Common.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Data.Common.dll.gz"},"Patterns":null},"System.Data.DataSetExtensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Data.DataSetExtensions.dll.gz"},"Patterns":null},"System.Data.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Data.dll.gz"},"Patterns":null},"System.Diagnostics.Contracts.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Contracts.dll.gz"},"Patterns":null},"System.Diagnostics.Debug.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Debug.dll.gz"},"Patterns":null},"System.Diagnostics.DiagnosticSource.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.DiagnosticSource.dll.gz"},"Patterns":null},"System.Diagnostics.FileVersionInfo.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.FileVersionInfo.dll.gz"},"Patterns":null},"System.Diagnostics.Process.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Process.dll.gz"},"Patterns":null},"System.Diagnostics.StackTrace.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.StackTrace.dll.gz"},"Patterns":null},"System.Diagnostics.TextWriterTraceListener.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.TextWriterTraceListener.dll.gz"},"Patterns":null},"System.Diagnostics.Tools.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Tools.dll.gz"},"Patterns":null},"System.Diagnostics.TraceSource.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.TraceSource.dll.gz"},"Patterns":null},"System.Diagnostics.Tracing.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Diagnostics.Tracing.dll.gz"},"Patterns":null},"System.Drawing.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Drawing.Primitives.dll.gz"},"Patterns":null},"System.Drawing.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Drawing.dll.gz"},"Patterns":null},"System.Dynamic.Runtime.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Dynamic.Runtime.dll.gz"},"Patterns":null},"System.Formats.Asn1.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Formats.Asn1.dll.gz"},"Patterns":null},"System.Globalization.Calendars.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Globalization.Calendars.dll.gz"},"Patterns":null},"System.Globalization.Extensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Globalization.Extensions.dll.gz"},"Patterns":null},"System.Globalization.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Globalization.dll.gz"},"Patterns":null},"System.IO.Compression.Brotli.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.Brotli.dll.gz"},"Patterns":null},"System.IO.Compression.FileSystem.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.FileSystem.dll.gz"},"Patterns":null},"System.IO.Compression.ZipFile.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.ZipFile.dll.gz"},"Patterns":null},"System.IO.Compression.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Compression.dll.gz"},"Patterns":null},"System.IO.FileSystem.AccessControl.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.AccessControl.dll.gz"},"Patterns":null},"System.IO.FileSystem.DriveInfo.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.DriveInfo.dll.gz"},"Patterns":null},"System.IO.FileSystem.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.Primitives.dll.gz"},"Patterns":null},"System.IO.FileSystem.Watcher.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.Watcher.dll.gz"},"Patterns":null},"System.IO.FileSystem.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.FileSystem.dll.gz"},"Patterns":null},"System.IO.IsolatedStorage.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.IsolatedStorage.dll.gz"},"Patterns":null},"System.IO.MemoryMappedFiles.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.MemoryMappedFiles.dll.gz"},"Patterns":null},"System.IO.Pipes.AccessControl.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Pipes.AccessControl.dll.gz"},"Patterns":null},"System.IO.Pipes.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.Pipes.dll.gz"},"Patterns":null},"System.IO.UnmanagedMemoryStream.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.UnmanagedMemoryStream.dll.gz"},"Patterns":null},"System.IO.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.IO.dll.gz"},"Patterns":null},"System.Linq.Expressions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Expressions.dll.gz"},"Patterns":null},"System.Linq.Parallel.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Parallel.dll.gz"},"Patterns":null},"System.Linq.Queryable.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.Queryable.dll.gz"},"Patterns":null},"System.Linq.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Linq.dll.gz"},"Patterns":null},"System.Memory.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Memory.dll.gz"},"Patterns":null},"System.Net.Http.Json.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Http.Json.dll.gz"},"Patterns":null},"System.Net.Http.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Http.dll.gz"},"Patterns":null},"System.Net.HttpListener.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.HttpListener.dll.gz"},"Patterns":null},"System.Net.Mail.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Mail.dll.gz"},"Patterns":null},"System.Net.NameResolution.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.NameResolution.dll.gz"},"Patterns":null},"System.Net.NetworkInformation.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.NetworkInformation.dll.gz"},"Patterns":null},"System.Net.Ping.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Ping.dll.gz"},"Patterns":null},"System.Net.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Primitives.dll.gz"},"Patterns":null},"System.Net.Quic.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Quic.dll.gz"},"Patterns":null},"System.Net.Requests.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Requests.dll.gz"},"Patterns":null},"System.Net.Security.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Security.dll.gz"},"Patterns":null},"System.Net.ServicePoint.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.ServicePoint.dll.gz"},"Patterns":null},"System.Net.Sockets.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.Sockets.dll.gz"},"Patterns":null},"System.Net.WebClient.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebClient.dll.gz"},"Patterns":null},"System.Net.WebHeaderCollection.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebHeaderCollection.dll.gz"},"Patterns":null},"System.Net.WebProxy.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebProxy.dll.gz"},"Patterns":null},"System.Net.WebSockets.Client.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebSockets.Client.dll.gz"},"Patterns":null},"System.Net.WebSockets.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.WebSockets.dll.gz"},"Patterns":null},"System.Net.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Net.dll.gz"},"Patterns":null},"System.Numerics.Vectors.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Numerics.Vectors.dll.gz"},"Patterns":null},"System.Numerics.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Numerics.dll.gz"},"Patterns":null},"System.ObjectModel.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ObjectModel.dll.gz"},"Patterns":null},"System.Private.DataContractSerialization.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.DataContractSerialization.dll.gz"},"Patterns":null},"System.Private.Runtime.InteropServices.JavaScript.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Runtime.InteropServices.JavaScript.dll.gz"},"Patterns":null},"System.Private.Uri.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Uri.dll.gz"},"Patterns":null},"System.Private.Xml.Linq.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Xml.Linq.dll.gz"},"Patterns":null},"System.Private.Xml.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.Xml.dll.gz"},"Patterns":null},"System.Reflection.DispatchProxy.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.DispatchProxy.dll.gz"},"Patterns":null},"System.Reflection.Emit.ILGeneration.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Emit.ILGeneration.dll.gz"},"Patterns":null},"System.Reflection.Emit.Lightweight.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Emit.Lightweight.dll.gz"},"Patterns":null},"System.Reflection.Emit.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Emit.dll.gz"},"Patterns":null},"System.Reflection.Extensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Extensions.dll.gz"},"Patterns":null},"System.Reflection.Metadata.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Metadata.dll.gz"},"Patterns":null},"System.Reflection.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.Primitives.dll.gz"},"Patterns":null},"System.Reflection.TypeExtensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.TypeExtensions.dll.gz"},"Patterns":null},"System.Reflection.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Reflection.dll.gz"},"Patterns":null},"System.Resources.Reader.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Resources.Reader.dll.gz"},"Patterns":null},"System.Resources.ResourceManager.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Resources.ResourceManager.dll.gz"},"Patterns":null},"System.Resources.Writer.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Resources.Writer.dll.gz"},"Patterns":null},"System.Runtime.CompilerServices.Unsafe.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.CompilerServices.Unsafe.dll.gz"},"Patterns":null},"System.Runtime.CompilerServices.VisualC.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.CompilerServices.VisualC.dll.gz"},"Patterns":null},"System.Runtime.Extensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Extensions.dll.gz"},"Patterns":null},"System.Runtime.Handles.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Handles.dll.gz"},"Patterns":null},"System.Runtime.InteropServices.RuntimeInformation.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.InteropServices.RuntimeInformation.dll.gz"},"Patterns":null},"System.Runtime.InteropServices.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.InteropServices.dll.gz"},"Patterns":null},"System.Runtime.Intrinsics.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Intrinsics.dll.gz"},"Patterns":null},"System.Runtime.Loader.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Loader.dll.gz"},"Patterns":null},"System.Runtime.Numerics.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Numerics.dll.gz"},"Patterns":null},"System.Runtime.Serialization.Formatters.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Formatters.dll.gz"},"Patterns":null},"System.Runtime.Serialization.Json.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Json.dll.gz"},"Patterns":null},"System.Runtime.Serialization.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Primitives.dll.gz"},"Patterns":null},"System.Runtime.Serialization.Xml.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.Xml.dll.gz"},"Patterns":null},"System.Runtime.Serialization.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.Serialization.dll.gz"},"Patterns":null},"System.Runtime.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Runtime.dll.gz"},"Patterns":null},"System.Security.AccessControl.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.AccessControl.dll.gz"},"Patterns":null},"System.Security.Claims.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Claims.dll.gz"},"Patterns":null},"System.Security.Cryptography.Algorithms.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Algorithms.dll.gz"},"Patterns":null},"System.Security.Cryptography.Cng.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Cng.dll.gz"},"Patterns":null},"System.Security.Cryptography.Csp.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Csp.dll.gz"},"Patterns":null},"System.Security.Cryptography.Encoding.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Encoding.dll.gz"},"Patterns":null},"System.Security.Cryptography.OpenSsl.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.OpenSsl.dll.gz"},"Patterns":null},"System.Security.Cryptography.Primitives.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.Primitives.dll.gz"},"Patterns":null},"System.Security.Cryptography.X509Certificates.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Cryptography.X509Certificates.dll.gz"},"Patterns":null},"System.Security.Principal.Windows.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Principal.Windows.dll.gz"},"Patterns":null},"System.Security.Principal.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.Principal.dll.gz"},"Patterns":null},"System.Security.SecureString.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.SecureString.dll.gz"},"Patterns":null},"System.Security.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Security.dll.gz"},"Patterns":null},"System.ServiceModel.Web.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ServiceModel.Web.dll.gz"},"Patterns":null},"System.ServiceProcess.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ServiceProcess.dll.gz"},"Patterns":null},"System.Text.Encoding.CodePages.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encoding.CodePages.dll.gz"},"Patterns":null},"System.Text.Encoding.Extensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encoding.Extensions.dll.gz"},"Patterns":null},"System.Text.Encoding.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encoding.dll.gz"},"Patterns":null},"System.Text.Encodings.Web.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Encodings.Web.dll.gz"},"Patterns":null},"System.Text.Json.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.Json.dll.gz"},"Patterns":null},"System.Text.RegularExpressions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Text.RegularExpressions.dll.gz"},"Patterns":null},"System.Threading.Channels.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Channels.dll.gz"},"Patterns":null},"System.Threading.Overlapped.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Overlapped.dll.gz"},"Patterns":null},"System.Threading.Tasks.Dataflow.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.Dataflow.dll.gz"},"Patterns":null},"System.Threading.Tasks.Extensions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.Extensions.dll.gz"},"Patterns":null},"System.Threading.Tasks.Parallel.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.Parallel.dll.gz"},"Patterns":null},"System.Threading.Tasks.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Tasks.dll.gz"},"Patterns":null},"System.Threading.Thread.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Thread.dll.gz"},"Patterns":null},"System.Threading.ThreadPool.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.ThreadPool.dll.gz"},"Patterns":null},"System.Threading.Timer.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.Timer.dll.gz"},"Patterns":null},"System.Threading.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Threading.dll.gz"},"Patterns":null},"System.Transactions.Local.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Transactions.Local.dll.gz"},"Patterns":null},"System.Transactions.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Transactions.dll.gz"},"Patterns":null},"System.ValueTuple.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.ValueTuple.dll.gz"},"Patterns":null},"System.Web.HttpUtility.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Web.HttpUtility.dll.gz"},"Patterns":null},"System.Web.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Web.dll.gz"},"Patterns":null},"System.Windows.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Windows.dll.gz"},"Patterns":null},"System.Xml.Linq.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.Linq.dll.gz"},"Patterns":null},"System.Xml.ReaderWriter.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.ReaderWriter.dll.gz"},"Patterns":null},"System.Xml.Serialization.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.Serialization.dll.gz"},"Patterns":null},"System.Xml.XDocument.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XDocument.dll.gz"},"Patterns":null},"System.Xml.XPath.XDocument.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XPath.XDocument.dll.gz"},"Patterns":null},"System.Xml.XPath.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XPath.dll.gz"},"Patterns":null},"System.Xml.XmlDocument.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XmlDocument.dll.gz"},"Patterns":null},"System.Xml.XmlSerializer.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.XmlSerializer.dll.gz"},"Patterns":null},"System.Xml.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Xml.dll.gz"},"Patterns":null},"System.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.dll.gz"},"Patterns":null},"WindowsBase.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/WindowsBase.dll.gz"},"Patterns":null},"mscorlib.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/mscorlib.dll.gz"},"Patterns":null},"netstandard.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/netstandard.dll.gz"},"Patterns":null},"System.Private.CoreLib.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/System.Private.CoreLib.dll.gz"},"Patterns":null},"dotnet.timezones.blat.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/dotnet.timezones.blat.gz"},"Patterns":null},"icudt.dat.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt.dat.gz"},"Patterns":null},"icudt_CJK.dat.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt_CJK.dat.gz"},"Patterns":null},"icudt_EFIGS.dat.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt_EFIGS.dat.gz"},"Patterns":null},"icudt_no_CJK.dat.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/icudt_no_CJK.dat.gz"},"Patterns":null},"dotnet.wasm.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/dotnet.wasm.gz"},"Patterns":null},"dotnet..0qqpqpio55.js.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/dotnet..0qqpqpio55.js.gz"},"Patterns":null},"Account_SQLite.dll.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Account_SQLite.dll.gz"},"Patterns":null},"Account_SQLite.pdb.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/Account_SQLite.pdb.gz"},"Patterns":null},"blazor.webassembly.js.gz":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/blazor.webassembly.js.gz"},"Patterns":null},"blazor.boot.json":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"_framework/blazor.boot.json"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization 2.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization 2.dll
new file mode 100755
index 00000000..5acdb6ad
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization.dll
index 5acdb6ad..1fa064d5 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms 2.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms 2.dll
new file mode 100755
index 00000000..65e2258b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms.dll
index 65e2258b..e76bd3f7 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Forms.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Web.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Web.dll
index 912e2f25..8398e8fd 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Web.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.WebAssembly.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.WebAssembly.dll
index ee3a85d4..208c9a52 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.WebAssembly.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.WebAssembly.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.dll
index 92ee589e..39d088cf 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Components.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata 2.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata 2.dll
new file mode 100755
index 00000000..61fb030c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata.dll
index 61fb030c..dfcf1459 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Metadata.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.CSharp.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.CSharp.dll
new file mode 100755
index 00000000..f5f0a6c2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.CSharp.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Caching.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Caching.Abstractions.dll
new file mode 100755
index 00000000..94eedf18
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Caching.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll
new file mode 100755
index 00000000..9a24516f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Binder.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Binder.dll
new file mode 100755
index 00000000..845cab83
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Binder.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll
new file mode 100755
index 00000000..160814d3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Json.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Json.dll
new file mode 100755
index 00000000..1c9ba240
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.dll
new file mode 100755
index 00000000..4c0a93b3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll
new file mode 100755
index 00000000..b4ee93da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.dll
new file mode 100755
index 00000000..97525f7e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll
new file mode 100755
index 00000000..d1045b65
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Physical.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Physical.dll
new file mode 100755
index 00000000..e712dbe6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Physical.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll
new file mode 100755
index 00000000..61c4e0c5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Logging.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Logging.dll
new file mode 100755
index 00000000..9e2d7f94
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Logging.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Options.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Options.dll
new file mode 100755
index 00000000..604b6027
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Options.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Primitives.dll
new file mode 100755
index 00000000..1b2c43af
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop 2.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop 2.dll
new file mode 100755
index 00000000..8ff5e51d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly 2.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly 2.dll
new file mode 100755
index 00000000..438471f3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly.dll
index 438471f3..322834ad 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.WebAssembly.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.dll
index 8ff5e51d..73fb23fa 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.dll and b/Account_SQLite/bin/Debug/net6.0/Microsoft.JSInterop.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.Core.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.Core.dll
new file mode 100755
index 00000000..6c03bf54
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.Core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.dll
new file mode 100755
index 00000000..482a9234
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Primitives.dll
new file mode 100755
index 00000000..388243f3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Registry.dll b/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Registry.dll
new file mode 100755
index 00000000..aa71daf6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Registry.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/Radzen.Blazor.dll b/Account_SQLite/bin/Debug/net6.0/Radzen.Blazor.dll
new file mode 100755
index 00000000..03b7b8cc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/Radzen.Blazor.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/SQLite.Net.dll b/Account_SQLite/bin/Debug/net6.0/SQLite.Net.dll
new file mode 100755
index 00000000..9c6bfc77
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/SQLite.Net.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.AppContext.dll b/Account_SQLite/bin/Debug/net6.0/System.AppContext.dll
new file mode 100755
index 00000000..daf2466d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.AppContext.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Buffers.dll b/Account_SQLite/bin/Debug/net6.0/System.Buffers.dll
new file mode 100755
index 00000000..597456d5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Buffers.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Collections.Concurrent.dll b/Account_SQLite/bin/Debug/net6.0/System.Collections.Concurrent.dll
new file mode 100755
index 00000000..4371de05
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Collections.Concurrent.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Collections.Immutable.dll b/Account_SQLite/bin/Debug/net6.0/System.Collections.Immutable.dll
new file mode 100755
index 00000000..f136a372
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Collections.Immutable.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Collections.NonGeneric.dll b/Account_SQLite/bin/Debug/net6.0/System.Collections.NonGeneric.dll
new file mode 100755
index 00000000..644a45fc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Collections.NonGeneric.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Collections.Specialized.dll b/Account_SQLite/bin/Debug/net6.0/System.Collections.Specialized.dll
new file mode 100755
index 00000000..5b446351
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Collections.Specialized.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Collections.dll b/Account_SQLite/bin/Debug/net6.0/System.Collections.dll
new file mode 100755
index 00000000..5e3092f0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Collections.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Annotations.dll b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Annotations.dll
new file mode 100755
index 00000000..701fc3e4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Annotations.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.DataAnnotations.dll b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.DataAnnotations.dll
new file mode 100755
index 00000000..43d27c40
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.DataAnnotations.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.EventBasedAsync.dll b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.EventBasedAsync.dll
new file mode 100755
index 00000000..324b2a9a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.EventBasedAsync.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Primitives.dll
new file mode 100755
index 00000000..def88464
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.TypeConverter.dll b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.TypeConverter.dll
new file mode 100755
index 00000000..d00d0ba2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.TypeConverter.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.dll b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.dll
new file mode 100755
index 00000000..6d580e01
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Configuration.dll b/Account_SQLite/bin/Debug/net6.0/System.Configuration.dll
new file mode 100755
index 00000000..36342f1d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Configuration.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Console.dll b/Account_SQLite/bin/Debug/net6.0/System.Console.dll
new file mode 100755
index 00000000..f030f15b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Console.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Core.dll b/Account_SQLite/bin/Debug/net6.0/System.Core.dll
new file mode 100755
index 00000000..08c6803d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Data.Common.dll b/Account_SQLite/bin/Debug/net6.0/System.Data.Common.dll
new file mode 100755
index 00000000..8069649d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Data.Common.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Data.DataSetExtensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Data.DataSetExtensions.dll
new file mode 100755
index 00000000..70840051
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Data.DataSetExtensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Data.dll b/Account_SQLite/bin/Debug/net6.0/System.Data.dll
new file mode 100755
index 00000000..03de38f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Data.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Contracts.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Contracts.dll
new file mode 100755
index 00000000..223a4439
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Contracts.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Debug.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Debug.dll
new file mode 100755
index 00000000..9a388533
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Debug.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.DiagnosticSource.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.DiagnosticSource.dll
new file mode 100755
index 00000000..fb219a69
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.FileVersionInfo.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.FileVersionInfo.dll
new file mode 100755
index 00000000..08d6ae3e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.FileVersionInfo.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Process.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Process.dll
new file mode 100755
index 00000000..998fafec
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Process.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.StackTrace.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.StackTrace.dll
new file mode 100755
index 00000000..b52b02ff
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.StackTrace.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TextWriterTraceListener.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TextWriterTraceListener.dll
new file mode 100755
index 00000000..486a9ed1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TextWriterTraceListener.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tools.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tools.dll
new file mode 100755
index 00000000..e582425a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tools.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TraceSource.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TraceSource.dll
new file mode 100755
index 00000000..186ce44d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TraceSource.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tracing.dll b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tracing.dll
new file mode 100755
index 00000000..7aba2a40
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tracing.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Drawing.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.Drawing.Primitives.dll
new file mode 100755
index 00000000..78e6e6b3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Drawing.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Drawing.dll b/Account_SQLite/bin/Debug/net6.0/System.Drawing.dll
new file mode 100755
index 00000000..ddebc9f0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Drawing.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Dynamic.Runtime.dll b/Account_SQLite/bin/Debug/net6.0/System.Dynamic.Runtime.dll
new file mode 100755
index 00000000..92ac4ef0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Dynamic.Runtime.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Formats.Asn1.dll b/Account_SQLite/bin/Debug/net6.0/System.Formats.Asn1.dll
new file mode 100755
index 00000000..f1717645
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Formats.Asn1.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Globalization.Calendars.dll b/Account_SQLite/bin/Debug/net6.0/System.Globalization.Calendars.dll
new file mode 100755
index 00000000..561cdb92
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Globalization.Calendars.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Globalization.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Globalization.Extensions.dll
new file mode 100755
index 00000000..a5a766da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Globalization.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Globalization.dll b/Account_SQLite/bin/Debug/net6.0/System.Globalization.dll
new file mode 100755
index 00000000..d13728f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Globalization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.Brotli.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.Brotli.dll
new file mode 100755
index 00000000..c450d69d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.Brotli.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.FileSystem.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.FileSystem.dll
new file mode 100755
index 00000000..953c9239
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.FileSystem.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.ZipFile.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.ZipFile.dll
new file mode 100755
index 00000000..6a5b5c9b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.ZipFile.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.dll
new file mode 100755
index 00000000..16d99eb8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.AccessControl.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.AccessControl.dll
new file mode 100755
index 00000000..36242b47
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.AccessControl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.DriveInfo.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.DriveInfo.dll
new file mode 100755
index 00000000..b75698bd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.DriveInfo.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Primitives.dll
new file mode 100755
index 00000000..28473f1c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Watcher.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Watcher.dll
new file mode 100755
index 00000000..724f6abd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Watcher.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.dll
new file mode 100755
index 00000000..38811f89
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.IsolatedStorage.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.IsolatedStorage.dll
new file mode 100755
index 00000000..a59ab04c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.IsolatedStorage.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.MemoryMappedFiles.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.MemoryMappedFiles.dll
new file mode 100755
index 00000000..0f54f433
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.MemoryMappedFiles.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines 2.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines 2.dll
new file mode 100755
index 00000000..8ee4dfdd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines 2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines.dll
index 8ee4dfdd..e978399d 100755
Binary files a/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines.dll and b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.AccessControl.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.AccessControl.dll
new file mode 100755
index 00000000..6ee69ca4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.AccessControl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.dll
new file mode 100755
index 00000000..fccb8f9d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.UnmanagedMemoryStream.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.UnmanagedMemoryStream.dll
new file mode 100755
index 00000000..1f3f4af3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.UnmanagedMemoryStream.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.IO.dll b/Account_SQLite/bin/Debug/net6.0/System.IO.dll
new file mode 100755
index 00000000..1e2349b7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.IO.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Linq.Dynamic.Core.dll b/Account_SQLite/bin/Debug/net6.0/System.Linq.Dynamic.Core.dll
new file mode 100755
index 00000000..3d5c26b5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Linq.Dynamic.Core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Linq.Expressions.dll b/Account_SQLite/bin/Debug/net6.0/System.Linq.Expressions.dll
new file mode 100755
index 00000000..d65786da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Linq.Expressions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Linq.Parallel.dll b/Account_SQLite/bin/Debug/net6.0/System.Linq.Parallel.dll
new file mode 100755
index 00000000..e674bbb4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Linq.Parallel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Linq.Queryable.dll b/Account_SQLite/bin/Debug/net6.0/System.Linq.Queryable.dll
new file mode 100755
index 00000000..7138e63c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Linq.Queryable.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Linq.dll b/Account_SQLite/bin/Debug/net6.0/System.Linq.dll
new file mode 100755
index 00000000..add8c531
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Linq.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Memory.dll b/Account_SQLite/bin/Debug/net6.0/System.Memory.dll
new file mode 100755
index 00000000..ea3f04ae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Memory.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Http.Json.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Http.Json.dll
new file mode 100755
index 00000000..140c3ef0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Http.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Http.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Http.dll
new file mode 100755
index 00000000..34d757d7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Http.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.HttpListener.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.HttpListener.dll
new file mode 100755
index 00000000..a252b014
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.HttpListener.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Mail.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Mail.dll
new file mode 100755
index 00000000..d911ff6b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Mail.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.NameResolution.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.NameResolution.dll
new file mode 100755
index 00000000..0bb1015d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.NameResolution.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.NetworkInformation.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.NetworkInformation.dll
new file mode 100755
index 00000000..f384906d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.NetworkInformation.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Ping.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Ping.dll
new file mode 100755
index 00000000..02c8e07b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Ping.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Primitives.dll
new file mode 100755
index 00000000..9a4866bc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Quic.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Quic.dll
new file mode 100755
index 00000000..3fc55394
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Quic.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Requests.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Requests.dll
new file mode 100755
index 00000000..c892633c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Requests.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Security.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Security.dll
new file mode 100755
index 00000000..9067c331
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Security.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.ServicePoint.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.ServicePoint.dll
new file mode 100755
index 00000000..09601be6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.ServicePoint.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.Sockets.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.Sockets.dll
new file mode 100755
index 00000000..ffc20ad0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.Sockets.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.WebClient.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.WebClient.dll
new file mode 100755
index 00000000..fbf34d41
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.WebClient.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.WebHeaderCollection.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.WebHeaderCollection.dll
new file mode 100755
index 00000000..a599ca45
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.WebHeaderCollection.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.WebProxy.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.WebProxy.dll
new file mode 100755
index 00000000..01b25d19
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.WebProxy.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.Client.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.Client.dll
new file mode 100755
index 00000000..05bb209c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.Client.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.dll
new file mode 100755
index 00000000..c2c43cce
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Net.dll b/Account_SQLite/bin/Debug/net6.0/System.Net.dll
new file mode 100755
index 00000000..74d70200
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Net.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Numerics.Vectors.dll b/Account_SQLite/bin/Debug/net6.0/System.Numerics.Vectors.dll
new file mode 100755
index 00000000..87bd7fae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Numerics.Vectors.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Numerics.dll b/Account_SQLite/bin/Debug/net6.0/System.Numerics.dll
new file mode 100755
index 00000000..a7747a65
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Numerics.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ObjectModel.dll b/Account_SQLite/bin/Debug/net6.0/System.ObjectModel.dll
new file mode 100755
index 00000000..eb63164a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ObjectModel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Private.CoreLib.dll b/Account_SQLite/bin/Debug/net6.0/System.Private.CoreLib.dll
new file mode 100755
index 00000000..a04ee0e4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Private.CoreLib.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Private.DataContractSerialization.dll b/Account_SQLite/bin/Debug/net6.0/System.Private.DataContractSerialization.dll
new file mode 100755
index 00000000..171fa922
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Private.DataContractSerialization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Private.Runtime.InteropServices.JavaScript.dll b/Account_SQLite/bin/Debug/net6.0/System.Private.Runtime.InteropServices.JavaScript.dll
new file mode 100755
index 00000000..c356b2b0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Private.Runtime.InteropServices.JavaScript.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Private.Uri.dll b/Account_SQLite/bin/Debug/net6.0/System.Private.Uri.dll
new file mode 100755
index 00000000..fd5cc3da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Private.Uri.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.Linq.dll b/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.Linq.dll
new file mode 100755
index 00000000..ec91023a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.Linq.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.dll b/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.dll
new file mode 100755
index 00000000..cc54a163
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.DispatchProxy.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.DispatchProxy.dll
new file mode 100755
index 00000000..3589b97f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.DispatchProxy.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.ILGeneration.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.ILGeneration.dll
new file mode 100755
index 00000000..864f1221
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.ILGeneration.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.Lightweight.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.Lightweight.dll
new file mode 100755
index 00000000..5c14758d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.Lightweight.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.dll
new file mode 100755
index 00000000..e7877c36
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Extensions.dll
new file mode 100755
index 00000000..e7585bda
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.Metadata.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Metadata.dll
new file mode 100755
index 00000000..0871dbf7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Metadata.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Primitives.dll
new file mode 100755
index 00000000..87871a9d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.TypeExtensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.TypeExtensions.dll
new file mode 100755
index 00000000..b2b92b4b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.TypeExtensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Reflection.dll b/Account_SQLite/bin/Debug/net6.0/System.Reflection.dll
new file mode 100755
index 00000000..f9f0b5f0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Reflection.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Resources.Reader.dll b/Account_SQLite/bin/Debug/net6.0/System.Resources.Reader.dll
new file mode 100755
index 00000000..05009c7d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Resources.Reader.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Resources.ResourceManager.dll b/Account_SQLite/bin/Debug/net6.0/System.Resources.ResourceManager.dll
new file mode 100755
index 00000000..5b97f146
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Resources.ResourceManager.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Resources.Writer.dll b/Account_SQLite/bin/Debug/net6.0/System.Resources.Writer.dll
new file mode 100755
index 00000000..ab8acc3f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Resources.Writer.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.Unsafe.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100755
index 00000000..46d3c1d0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.VisualC.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.VisualC.dll
new file mode 100755
index 00000000..6b9972bd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.VisualC.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Extensions.dll
new file mode 100755
index 00000000..bae340d3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Handles.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Handles.dll
new file mode 100755
index 00000000..e3f60849
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Handles.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.RuntimeInformation.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100755
index 00000000..8369e4f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.RuntimeInformation.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.dll
new file mode 100755
index 00000000..ace5d0a0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Intrinsics.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Intrinsics.dll
new file mode 100755
index 00000000..a174dacb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Intrinsics.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Loader.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Loader.dll
new file mode 100755
index 00000000..10754c86
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Loader.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Numerics.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Numerics.dll
new file mode 100755
index 00000000..83af62ec
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Numerics.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Formatters.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Formatters.dll
new file mode 100755
index 00000000..144b60fb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Formatters.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Json.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Json.dll
new file mode 100755
index 00000000..ab015cbe
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Primitives.dll
new file mode 100755
index 00000000..2058fd38
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Xml.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Xml.dll
new file mode 100755
index 00000000..357c46cf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Xml.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.dll
new file mode 100755
index 00000000..687a02ae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Runtime.dll b/Account_SQLite/bin/Debug/net6.0/System.Runtime.dll
new file mode 100755
index 00000000..fb58247d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Runtime.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.AccessControl.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.AccessControl.dll
new file mode 100755
index 00000000..e1ab25ee
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.AccessControl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Claims.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Claims.dll
new file mode 100755
index 00000000..074340f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Claims.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Algorithms.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Algorithms.dll
new file mode 100755
index 00000000..d7dc7a78
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Algorithms.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Cng.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Cng.dll
new file mode 100755
index 00000000..f7a5cdc6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Cng.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Csp.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Csp.dll
new file mode 100755
index 00000000..8a40b757
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Csp.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Encoding.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Encoding.dll
new file mode 100755
index 00000000..8098d5b1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Encoding.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.OpenSsl.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.OpenSsl.dll
new file mode 100755
index 00000000..a3b219ae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.OpenSsl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Primitives.dll
new file mode 100755
index 00000000..81500588
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.X509Certificates.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.X509Certificates.dll
new file mode 100755
index 00000000..583fe5e6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.X509Certificates.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.Windows.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.Windows.dll
new file mode 100755
index 00000000..fcfb3a2b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.Windows.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.dll
new file mode 100755
index 00000000..5fb56c86
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.SecureString.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.SecureString.dll
new file mode 100755
index 00000000..0c798a2c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.SecureString.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Security.dll b/Account_SQLite/bin/Debug/net6.0/System.Security.dll
new file mode 100755
index 00000000..45fa0dc9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Security.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ServiceModel.Web.dll b/Account_SQLite/bin/Debug/net6.0/System.ServiceModel.Web.dll
new file mode 100755
index 00000000..fe4bdf31
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ServiceModel.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ServiceProcess.dll b/Account_SQLite/bin/Debug/net6.0/System.ServiceProcess.dll
new file mode 100755
index 00000000..39c62431
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ServiceProcess.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.CodePages.dll b/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.CodePages.dll
new file mode 100755
index 00000000..991d4096
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.CodePages.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.Extensions.dll
new file mode 100755
index 00000000..bb384c5b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.dll b/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.dll
new file mode 100755
index 00000000..df18e7c0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Text.Encodings.Web.dll b/Account_SQLite/bin/Debug/net6.0/System.Text.Encodings.Web.dll
new file mode 100755
index 00000000..b25307be
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Text.Encodings.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Text.Json.dll b/Account_SQLite/bin/Debug/net6.0/System.Text.Json.dll
new file mode 100755
index 00000000..c57c3145
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Text.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Text.RegularExpressions.dll b/Account_SQLite/bin/Debug/net6.0/System.Text.RegularExpressions.dll
new file mode 100755
index 00000000..5f8e1280
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Text.RegularExpressions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Channels.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Channels.dll
new file mode 100755
index 00000000..8e83716f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Channels.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Overlapped.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Overlapped.dll
new file mode 100755
index 00000000..a7b624a6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Overlapped.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Dataflow.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Dataflow.dll
new file mode 100755
index 00000000..a20fee32
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Dataflow.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Extensions.dll
new file mode 100755
index 00000000..6c3b5b00
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Parallel.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Parallel.dll
new file mode 100755
index 00000000..6e37d045
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Parallel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.dll
new file mode 100755
index 00000000..22aacedb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Thread.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Thread.dll
new file mode 100755
index 00000000..3dc7544f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Thread.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.ThreadPool.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.ThreadPool.dll
new file mode 100755
index 00000000..ba27bb08
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.ThreadPool.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.Timer.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.Timer.dll
new file mode 100755
index 00000000..2a5857cc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.Timer.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Threading.dll b/Account_SQLite/bin/Debug/net6.0/System.Threading.dll
new file mode 100755
index 00000000..55ed953f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Threading.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Transactions.Local.dll b/Account_SQLite/bin/Debug/net6.0/System.Transactions.Local.dll
new file mode 100755
index 00000000..9136892d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Transactions.Local.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Transactions.dll b/Account_SQLite/bin/Debug/net6.0/System.Transactions.dll
new file mode 100755
index 00000000..9f1ff8c0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Transactions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.ValueTuple.dll b/Account_SQLite/bin/Debug/net6.0/System.ValueTuple.dll
new file mode 100755
index 00000000..245c4f47
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.ValueTuple.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Web.HttpUtility.dll b/Account_SQLite/bin/Debug/net6.0/System.Web.HttpUtility.dll
new file mode 100755
index 00000000..e0e4d547
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Web.HttpUtility.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Web.dll b/Account_SQLite/bin/Debug/net6.0/System.Web.dll
new file mode 100755
index 00000000..34f0ffd7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Windows.dll b/Account_SQLite/bin/Debug/net6.0/System.Windows.dll
new file mode 100755
index 00000000..a73d5d18
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Windows.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.Linq.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.Linq.dll
new file mode 100755
index 00000000..4d4caf1d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.Linq.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.ReaderWriter.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.ReaderWriter.dll
new file mode 100755
index 00000000..1fe6e7f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.ReaderWriter.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.Serialization.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.Serialization.dll
new file mode 100755
index 00000000..0bb4c2a3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.Serialization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.XDocument.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.XDocument.dll
new file mode 100755
index 00000000..587afd87
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.XDocument.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.XDocument.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.XDocument.dll
new file mode 100755
index 00000000..e7353920
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.XDocument.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.dll
new file mode 100755
index 00000000..263e5416
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlDocument.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlDocument.dll
new file mode 100755
index 00000000..d47ea370
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlDocument.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlSerializer.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlSerializer.dll
new file mode 100755
index 00000000..35254fcd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlSerializer.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.Xml.dll b/Account_SQLite/bin/Debug/net6.0/System.Xml.dll
new file mode 100755
index 00000000..79247fe6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.Xml.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/System.dll b/Account_SQLite/bin/Debug/net6.0/System.dll
new file mode 100755
index 00000000..820fbbd2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/System.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/WindowsBase.dll b/Account_SQLite/bin/Debug/net6.0/WindowsBase.dll
new file mode 100755
index 00000000..18f7cb7e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/WindowsBase.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/dotnet.timezones.blat b/Account_SQLite/bin/Debug/net6.0/dotnet.timezones.blat
new file mode 100755
index 00000000..4500d17a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/dotnet.timezones.blat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/browser-wasm/nativeassets/net6.0/e_sqlite3.a b/Account_SQLite/bin/Debug/net6.0/e_sqlite3.a
similarity index 100%
rename from Account_SQLite/bin/Debug/net6.0/runtimes/browser-wasm/nativeassets/net6.0/e_sqlite3.a
rename to Account_SQLite/bin/Debug/net6.0/e_sqlite3.a
diff --git a/Account_SQLite/bin/Debug/net6.0/icudt.dat b/Account_SQLite/bin/Debug/net6.0/icudt.dat
new file mode 100755
index 00000000..7281a276
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/icudt.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/icudt_CJK.dat b/Account_SQLite/bin/Debug/net6.0/icudt_CJK.dat
new file mode 100755
index 00000000..a4ef6d70
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/icudt_CJK.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/icudt_EFIGS.dat b/Account_SQLite/bin/Debug/net6.0/icudt_EFIGS.dat
new file mode 100755
index 00000000..4b39b3fa
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/icudt_EFIGS.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/icudt_no_CJK.dat b/Account_SQLite/bin/Debug/net6.0/icudt_no_CJK.dat
new file mode 100755
index 00000000..bab52e7a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/icudt_no_CJK.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/mscorlib.dll b/Account_SQLite/bin/Debug/net6.0/mscorlib.dll
new file mode 100755
index 00000000..1538e2f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/mscorlib.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/netstandard.dll b/Account_SQLite/bin/Debug/net6.0/netstandard.dll
new file mode 100755
index 00000000..b12dda4b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/netstandard.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm/native/libe_sqlite3.so
deleted file mode 100755
index dcac00f4..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm64/native/libe_sqlite3.so
deleted file mode 100755
index fb328dc3..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so
deleted file mode 100755
index ed1e4b16..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so
deleted file mode 100755
index b4b89fc3..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so
deleted file mode 100755
index ddaa6c59..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so
deleted file mode 100755
index 72802108..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so
deleted file mode 100755
index 8ebc8c51..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm/native/libe_sqlite3.so
deleted file mode 100755
index dcac00f4..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so
deleted file mode 100755
index fb328dc3..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so
deleted file mode 100755
index ed1e4b16..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-s390x/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-s390x/native/libe_sqlite3.so
deleted file mode 100755
index aed16404..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-s390x/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so
deleted file mode 100755
index 47adc326..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so b/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so
deleted file mode 100755
index 7430fc1a..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/osx-arm64/native/libe_sqlite3.dylib b/Account_SQLite/bin/Debug/net6.0/runtimes/osx-arm64/native/libe_sqlite3.dylib
deleted file mode 100755
index 8e2d893f..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/osx-arm64/native/libe_sqlite3.dylib and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib b/Account_SQLite/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib
deleted file mode 100755
index ae713d62..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll b/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll
deleted file mode 100755
index f1190796..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll b/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll
deleted file mode 100755
index 5cb7b113..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll b/Account_SQLite/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll
deleted file mode 100755
index 5b192ca8..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll b/Account_SQLite/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll
deleted file mode 100755
index 9f619d70..00000000
Binary files a/Account_SQLite/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll and /dev/null differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll
new file mode 100644
index 00000000..1fa0ca5b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll.gz
new file mode 100644
index 00000000..ea6e6fad
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb
new file mode 100644
index 00000000..0c8ad345
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb.gz
new file mode 100644
index 00000000..4f094734
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll
new file mode 100755
index 00000000..1fa064d5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll.gz
new file mode 100644
index 00000000..04301fc9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll
new file mode 100755
index 00000000..e76bd3f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll.gz
new file mode 100644
index 00000000..9fc2ce97
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll
new file mode 100755
index 00000000..8398e8fd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll.gz
new file mode 100644
index 00000000..fe971ddd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll
new file mode 100755
index 00000000..208c9a52
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll.gz
new file mode 100644
index 00000000..f2f5d32d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll
new file mode 100755
index 00000000..39d088cf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll.gz
new file mode 100644
index 00000000..a6efd270
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll
new file mode 100755
index 00000000..dfcf1459
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll.gz
new file mode 100644
index 00000000..da3db480
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll
new file mode 100755
index 00000000..f5f0a6c2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll.gz
new file mode 100644
index 00000000..845d3278
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll
new file mode 100755
index 00000000..fba00567
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll.gz
new file mode 100644
index 00000000..463b515d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll
new file mode 100755
index 00000000..d8432077
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll.gz
new file mode 100644
index 00000000..adfa14b9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll
new file mode 100755
index 00000000..59568a73
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll.gz
new file mode 100644
index 00000000..e8a69bb4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll
new file mode 100755
index 00000000..03c756b5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll.gz
new file mode 100644
index 00000000..7e8e6851
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll
new file mode 100755
index 00000000..eb1d630e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll.gz
new file mode 100644
index 00000000..326ac977
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll
new file mode 100755
index 00000000..94eedf18
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll.gz
new file mode 100644
index 00000000..77d187dc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll
new file mode 100755
index 00000000..42eb85f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll.gz
new file mode 100644
index 00000000..1d4749f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll
new file mode 100755
index 00000000..9a24516f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll.gz
new file mode 100644
index 00000000..3d7e29ea
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll
new file mode 100755
index 00000000..845cab83
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll.gz
new file mode 100644
index 00000000..93a73c35
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll
new file mode 100755
index 00000000..160814d3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll.gz
new file mode 100644
index 00000000..bbf68757
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll
new file mode 100755
index 00000000..1c9ba240
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll.gz
new file mode 100644
index 00000000..6ecae334
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll
new file mode 100755
index 00000000..4c0a93b3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll.gz
new file mode 100644
index 00000000..8a8d8a2d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll
new file mode 100755
index 00000000..b4ee93da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz
new file mode 100644
index 00000000..1dcc1b3e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll
new file mode 100755
index 00000000..97525f7e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll.gz
new file mode 100644
index 00000000..794f338b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll
new file mode 100755
index 00000000..abf0306e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll.gz
new file mode 100644
index 00000000..80fedafc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll
new file mode 100755
index 00000000..d1045b65
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll.gz
new file mode 100644
index 00000000..433c1484
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll
new file mode 100755
index 00000000..e712dbe6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll.gz
new file mode 100644
index 00000000..33d6c66d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll
new file mode 100755
index 00000000..61c4e0c5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll.gz
new file mode 100644
index 00000000..66d40a4d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll
new file mode 100755
index 00000000..a42ea834
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll.gz
new file mode 100644
index 00000000..fce16d46
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll
new file mode 100755
index 00000000..9e2d7f94
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll.gz
new file mode 100644
index 00000000..20e2a77f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll
new file mode 100755
index 00000000..604b6027
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll.gz
new file mode 100644
index 00000000..b47daccd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll
new file mode 100755
index 00000000..1b2c43af
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll.gz
new file mode 100644
index 00000000..1ae18e67
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll
new file mode 100755
index 00000000..322834ad
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll.gz
new file mode 100644
index 00000000..210039f6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll
new file mode 100755
index 00000000..73fb23fa
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll.gz
new file mode 100644
index 00000000..1b803110
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll
new file mode 100755
index 00000000..6c03bf54
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll.gz
new file mode 100644
index 00000000..e69ed55d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll
new file mode 100755
index 00000000..482a9234
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll.gz
new file mode 100644
index 00000000..d7d0a3f1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll
new file mode 100755
index 00000000..388243f3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll.gz
new file mode 100644
index 00000000..03873c42
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll
new file mode 100755
index 00000000..aa71daf6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll.gz
new file mode 100644
index 00000000..645211b4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll
new file mode 100755
index 00000000..03b7b8cc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll.gz
new file mode 100644
index 00000000..263d4883
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll
new file mode 100755
index 00000000..9c6bfc77
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll.gz
new file mode 100644
index 00000000..0f31cb18
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll
new file mode 100755
index 00000000..b98e9a9e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll.gz
new file mode 100644
index 00000000..ba10a393
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll
new file mode 100755
index 00000000..3bab4bca
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll.gz
new file mode 100644
index 00000000..063f7ff6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll
new file mode 100755
index 00000000..39a5bef0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll.gz
new file mode 100644
index 00000000..a44057d7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll
new file mode 100755
index 00000000..85062a5b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll.gz
new file mode 100644
index 00000000..861bd518
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll
new file mode 100755
index 00000000..daf2466d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll.gz
new file mode 100644
index 00000000..7a0102dc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll
new file mode 100755
index 00000000..597456d5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll.gz
new file mode 100644
index 00000000..6c46fbef
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll
new file mode 100755
index 00000000..4371de05
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll.gz
new file mode 100644
index 00000000..99b0768e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll
new file mode 100755
index 00000000..f136a372
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll.gz
new file mode 100644
index 00000000..4b001bc3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll
new file mode 100755
index 00000000..644a45fc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll.gz
new file mode 100644
index 00000000..d4ccd67f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll
new file mode 100755
index 00000000..5b446351
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll.gz
new file mode 100644
index 00000000..300fad82
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll
new file mode 100755
index 00000000..5e3092f0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll.gz
new file mode 100644
index 00000000..3a3f1df8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll
new file mode 100755
index 00000000..701fc3e4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll.gz
new file mode 100644
index 00000000..23b4ca6e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll
new file mode 100755
index 00000000..43d27c40
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll.gz
new file mode 100644
index 00000000..0fe7e3f4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll
new file mode 100755
index 00000000..324b2a9a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll.gz
new file mode 100644
index 00000000..03870874
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll
new file mode 100755
index 00000000..def88464
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll.gz
new file mode 100644
index 00000000..20a6a0a3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll
new file mode 100755
index 00000000..d00d0ba2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll.gz
new file mode 100644
index 00000000..36586699
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll
new file mode 100755
index 00000000..6d580e01
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll.gz
new file mode 100644
index 00000000..c4811de3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll
new file mode 100755
index 00000000..36342f1d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll.gz
new file mode 100644
index 00000000..8d59691d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll
new file mode 100755
index 00000000..f030f15b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll.gz
new file mode 100644
index 00000000..728a92bf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll
new file mode 100755
index 00000000..08c6803d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll.gz
new file mode 100644
index 00000000..13ac0a41
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll
new file mode 100755
index 00000000..8069649d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll.gz
new file mode 100644
index 00000000..d6644265
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll
new file mode 100755
index 00000000..70840051
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll.gz
new file mode 100644
index 00000000..05bdbc9a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll
new file mode 100755
index 00000000..03de38f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll.gz
new file mode 100644
index 00000000..d69cb29e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll
new file mode 100755
index 00000000..223a4439
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll.gz
new file mode 100644
index 00000000..363523d8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll
new file mode 100755
index 00000000..9a388533
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll.gz
new file mode 100644
index 00000000..269c8def
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll
new file mode 100755
index 00000000..fb219a69
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll.gz
new file mode 100644
index 00000000..dd8f25b6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll
new file mode 100755
index 00000000..08d6ae3e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll.gz
new file mode 100644
index 00000000..843bc9ce
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll
new file mode 100755
index 00000000..998fafec
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll.gz
new file mode 100644
index 00000000..a7af8feb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll
new file mode 100755
index 00000000..b52b02ff
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll.gz
new file mode 100644
index 00000000..75c01d4e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll
new file mode 100755
index 00000000..486a9ed1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll.gz
new file mode 100644
index 00000000..e0385cbf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll
new file mode 100755
index 00000000..e582425a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll.gz
new file mode 100644
index 00000000..9f6faac5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll
new file mode 100755
index 00000000..186ce44d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll.gz
new file mode 100644
index 00000000..37e4da66
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll
new file mode 100755
index 00000000..7aba2a40
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll.gz
new file mode 100644
index 00000000..48d707de
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll
new file mode 100755
index 00000000..78e6e6b3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll.gz
new file mode 100644
index 00000000..6a25e55a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll
new file mode 100755
index 00000000..ddebc9f0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll.gz
new file mode 100644
index 00000000..85bfc72f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll
new file mode 100755
index 00000000..92ac4ef0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll.gz
new file mode 100644
index 00000000..da396bc4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll
new file mode 100755
index 00000000..f1717645
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll.gz
new file mode 100644
index 00000000..e3c7207d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll
new file mode 100755
index 00000000..561cdb92
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll.gz
new file mode 100644
index 00000000..fb441c9c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll
new file mode 100755
index 00000000..a5a766da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll.gz
new file mode 100644
index 00000000..ec25f4a7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll
new file mode 100755
index 00000000..d13728f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll.gz
new file mode 100644
index 00000000..c03155cc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll
new file mode 100755
index 00000000..c450d69d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll.gz
new file mode 100644
index 00000000..e9f320b1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll
new file mode 100755
index 00000000..953c9239
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll.gz
new file mode 100644
index 00000000..181a420f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll
new file mode 100755
index 00000000..6a5b5c9b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll.gz
new file mode 100644
index 00000000..47d752d2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll
new file mode 100755
index 00000000..16d99eb8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll.gz
new file mode 100644
index 00000000..d4f51f40
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll
new file mode 100755
index 00000000..36242b47
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll.gz
new file mode 100644
index 00000000..67e8720d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll
new file mode 100755
index 00000000..b75698bd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll.gz
new file mode 100644
index 00000000..62c3e9ed
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll
new file mode 100755
index 00000000..28473f1c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll.gz
new file mode 100644
index 00000000..0b490718
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll
new file mode 100755
index 00000000..724f6abd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll.gz
new file mode 100644
index 00000000..14f88fb5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll
new file mode 100755
index 00000000..38811f89
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll.gz
new file mode 100644
index 00000000..6a8f320f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll
new file mode 100755
index 00000000..a59ab04c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll.gz
new file mode 100644
index 00000000..686a30f9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll
new file mode 100755
index 00000000..0f54f433
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll.gz
new file mode 100644
index 00000000..d346e172
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll
new file mode 100755
index 00000000..e978399d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll.gz
new file mode 100644
index 00000000..005c3f48
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll
new file mode 100755
index 00000000..6ee69ca4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll.gz
new file mode 100644
index 00000000..45d72b57
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll
new file mode 100755
index 00000000..fccb8f9d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll.gz
new file mode 100644
index 00000000..15fc7a08
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll
new file mode 100755
index 00000000..1f3f4af3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll.gz
new file mode 100644
index 00000000..d603e641
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll
new file mode 100755
index 00000000..1e2349b7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll.gz
new file mode 100644
index 00000000..88b39f38
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll
new file mode 100755
index 00000000..3d5c26b5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll.gz
new file mode 100644
index 00000000..30c54716
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll
new file mode 100755
index 00000000..d65786da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll.gz
new file mode 100644
index 00000000..dfcad5ba
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll
new file mode 100755
index 00000000..e674bbb4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll.gz
new file mode 100644
index 00000000..8d6d0645
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll
new file mode 100755
index 00000000..7138e63c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll.gz
new file mode 100644
index 00000000..2058fd24
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll
new file mode 100755
index 00000000..add8c531
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll.gz
new file mode 100644
index 00000000..2d4b1dc4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll
new file mode 100755
index 00000000..ea3f04ae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll.gz
new file mode 100644
index 00000000..e2b87673
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll
new file mode 100755
index 00000000..140c3ef0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll.gz
new file mode 100644
index 00000000..35c11a08
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll
new file mode 100755
index 00000000..34d757d7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll.gz
new file mode 100644
index 00000000..b77c31ee
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll
new file mode 100755
index 00000000..a252b014
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll.gz
new file mode 100644
index 00000000..cdaddea0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll
new file mode 100755
index 00000000..d911ff6b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll.gz
new file mode 100644
index 00000000..89d5299a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll
new file mode 100755
index 00000000..0bb1015d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll.gz
new file mode 100644
index 00000000..2f5486e0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll
new file mode 100755
index 00000000..f384906d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll.gz
new file mode 100644
index 00000000..db40331c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll
new file mode 100755
index 00000000..02c8e07b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll.gz
new file mode 100644
index 00000000..e184392e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll
new file mode 100755
index 00000000..9a4866bc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll.gz
new file mode 100644
index 00000000..9347e7ef
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll
new file mode 100755
index 00000000..3fc55394
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll.gz
new file mode 100644
index 00000000..59f424eb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll
new file mode 100755
index 00000000..c892633c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll.gz
new file mode 100644
index 00000000..f3f7d82d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll
new file mode 100755
index 00000000..9067c331
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll.gz
new file mode 100644
index 00000000..36a568c6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll
new file mode 100755
index 00000000..09601be6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll.gz
new file mode 100644
index 00000000..93a1dae4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll
new file mode 100755
index 00000000..ffc20ad0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll.gz
new file mode 100644
index 00000000..92292813
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll
new file mode 100755
index 00000000..fbf34d41
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll.gz
new file mode 100644
index 00000000..50346fe5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll
new file mode 100755
index 00000000..a599ca45
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll.gz
new file mode 100644
index 00000000..b22cde33
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll
new file mode 100755
index 00000000..01b25d19
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll.gz
new file mode 100644
index 00000000..b3ba4a0b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll
new file mode 100755
index 00000000..05bb209c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll.gz
new file mode 100644
index 00000000..7317c4f2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll
new file mode 100755
index 00000000..c2c43cce
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll.gz
new file mode 100644
index 00000000..3e0a2640
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll
new file mode 100755
index 00000000..74d70200
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll.gz
new file mode 100644
index 00000000..69d74a59
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll
new file mode 100755
index 00000000..87bd7fae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll.gz
new file mode 100644
index 00000000..8ce0ea97
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll
new file mode 100755
index 00000000..a7747a65
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll.gz
new file mode 100644
index 00000000..a357d812
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll
new file mode 100755
index 00000000..eb63164a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll.gz
new file mode 100644
index 00000000..afe06294
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll
new file mode 100755
index 00000000..a04ee0e4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll.gz
new file mode 100644
index 00000000..d4ab3b4b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll
new file mode 100755
index 00000000..171fa922
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll.gz
new file mode 100644
index 00000000..1d933408
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll
new file mode 100755
index 00000000..c356b2b0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll.gz
new file mode 100644
index 00000000..31972096
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll
new file mode 100755
index 00000000..fd5cc3da
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll.gz
new file mode 100644
index 00000000..801c4b10
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll
new file mode 100755
index 00000000..ec91023a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll.gz
new file mode 100644
index 00000000..6de91e1c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll
new file mode 100755
index 00000000..cc54a163
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll.gz
new file mode 100644
index 00000000..3e1eea29
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll
new file mode 100755
index 00000000..3589b97f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll.gz
new file mode 100644
index 00000000..e1a73f0e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll
new file mode 100755
index 00000000..864f1221
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll.gz
new file mode 100644
index 00000000..125fdbb9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll
new file mode 100755
index 00000000..5c14758d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll.gz
new file mode 100644
index 00000000..72a8adc3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll
new file mode 100755
index 00000000..e7877c36
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll.gz
new file mode 100644
index 00000000..4887af21
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll
new file mode 100755
index 00000000..e7585bda
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll.gz
new file mode 100644
index 00000000..b5c3ae5a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll
new file mode 100755
index 00000000..0871dbf7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll.gz
new file mode 100644
index 00000000..ba125393
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll
new file mode 100755
index 00000000..87871a9d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll.gz
new file mode 100644
index 00000000..fd11c5f9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll
new file mode 100755
index 00000000..b2b92b4b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll.gz
new file mode 100644
index 00000000..9db86fae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll
new file mode 100755
index 00000000..f9f0b5f0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll.gz
new file mode 100644
index 00000000..9d414bf8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll
new file mode 100755
index 00000000..05009c7d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll.gz
new file mode 100644
index 00000000..d9b3f6f9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll
new file mode 100755
index 00000000..5b97f146
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll.gz
new file mode 100644
index 00000000..f41de3f6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll
new file mode 100755
index 00000000..ab8acc3f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll.gz
new file mode 100644
index 00000000..0345e5ff
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100755
index 00000000..46d3c1d0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll.gz
new file mode 100644
index 00000000..63dd4f11
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll
new file mode 100755
index 00000000..6b9972bd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll.gz
new file mode 100644
index 00000000..2085e09a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll
new file mode 100755
index 00000000..bae340d3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll.gz
new file mode 100644
index 00000000..512d6d98
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll
new file mode 100755
index 00000000..e3f60849
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll.gz
new file mode 100644
index 00000000..5159ea5a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100755
index 00000000..8369e4f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll.gz
new file mode 100644
index 00000000..2166e345
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll
new file mode 100755
index 00000000..ace5d0a0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll.gz
new file mode 100644
index 00000000..a4aea805
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll
new file mode 100755
index 00000000..a174dacb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll.gz
new file mode 100644
index 00000000..b17cb078
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll
new file mode 100755
index 00000000..10754c86
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll.gz
new file mode 100644
index 00000000..cc515261
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll
new file mode 100755
index 00000000..83af62ec
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll.gz
new file mode 100644
index 00000000..cbab94c0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll
new file mode 100755
index 00000000..144b60fb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll.gz
new file mode 100644
index 00000000..4b1a75d1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll
new file mode 100755
index 00000000..ab015cbe
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll.gz
new file mode 100644
index 00000000..5caaba21
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll
new file mode 100755
index 00000000..2058fd38
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll.gz
new file mode 100644
index 00000000..76de839a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll
new file mode 100755
index 00000000..357c46cf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll.gz
new file mode 100644
index 00000000..a427c49c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll
new file mode 100755
index 00000000..687a02ae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll.gz
new file mode 100644
index 00000000..0d8fc21a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll
new file mode 100755
index 00000000..fb58247d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll.gz
new file mode 100644
index 00000000..c123472f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll
new file mode 100755
index 00000000..e1ab25ee
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll.gz
new file mode 100644
index 00000000..c11e0b62
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll
new file mode 100755
index 00000000..074340f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll.gz
new file mode 100644
index 00000000..18d18443
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll
new file mode 100755
index 00000000..d7dc7a78
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll.gz
new file mode 100644
index 00000000..0b32527c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll
new file mode 100755
index 00000000..f7a5cdc6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll.gz
new file mode 100644
index 00000000..dce68734
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll
new file mode 100755
index 00000000..8a40b757
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll.gz
new file mode 100644
index 00000000..3a0e293e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll
new file mode 100755
index 00000000..8098d5b1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll.gz
new file mode 100644
index 00000000..f6ddd3cf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll
new file mode 100755
index 00000000..a3b219ae
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll.gz
new file mode 100644
index 00000000..14636b46
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll
new file mode 100755
index 00000000..81500588
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll.gz
new file mode 100644
index 00000000..d00f7aec
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll
new file mode 100755
index 00000000..583fe5e6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll.gz
new file mode 100644
index 00000000..1b167511
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll
new file mode 100755
index 00000000..fcfb3a2b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll.gz
new file mode 100644
index 00000000..3da8b345
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll
new file mode 100755
index 00000000..5fb56c86
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll.gz
new file mode 100644
index 00000000..ee5bca3a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll
new file mode 100755
index 00000000..0c798a2c
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll.gz
new file mode 100644
index 00000000..4db742d1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll
new file mode 100755
index 00000000..45fa0dc9
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll.gz
new file mode 100644
index 00000000..f58dcd60
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll
new file mode 100755
index 00000000..fe4bdf31
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll.gz
new file mode 100644
index 00000000..b94b47f5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll
new file mode 100755
index 00000000..39c62431
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll.gz
new file mode 100644
index 00000000..8ecd4024
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll
new file mode 100755
index 00000000..991d4096
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll.gz
new file mode 100644
index 00000000..9693a86f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll
new file mode 100755
index 00000000..bb384c5b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll.gz
new file mode 100644
index 00000000..86777043
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll
new file mode 100755
index 00000000..df18e7c0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll.gz
new file mode 100644
index 00000000..131a68cf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll
new file mode 100755
index 00000000..b25307be
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll.gz
new file mode 100644
index 00000000..71af6bc6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll
new file mode 100755
index 00000000..c57c3145
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll.gz
new file mode 100644
index 00000000..1b5b7181
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll
new file mode 100755
index 00000000..5f8e1280
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll.gz
new file mode 100644
index 00000000..ae2b859f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll
new file mode 100755
index 00000000..8e83716f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll.gz
new file mode 100644
index 00000000..fbd779e5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll
new file mode 100755
index 00000000..a7b624a6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll.gz
new file mode 100644
index 00000000..55264f69
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll
new file mode 100755
index 00000000..a20fee32
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll.gz
new file mode 100644
index 00000000..04b14df1
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll
new file mode 100755
index 00000000..6c3b5b00
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll.gz
new file mode 100644
index 00000000..ec85a01e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll
new file mode 100755
index 00000000..6e37d045
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll.gz
new file mode 100644
index 00000000..4f6d28bf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll
new file mode 100755
index 00000000..22aacedb
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll.gz
new file mode 100644
index 00000000..cdcd4555
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll
new file mode 100755
index 00000000..3dc7544f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll.gz
new file mode 100644
index 00000000..cb3f0c2f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll
new file mode 100755
index 00000000..ba27bb08
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll.gz
new file mode 100644
index 00000000..81f47a44
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll
new file mode 100755
index 00000000..2a5857cc
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll.gz
new file mode 100644
index 00000000..16ccaf2b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll
new file mode 100755
index 00000000..55ed953f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll.gz
new file mode 100644
index 00000000..e2105018
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll
new file mode 100755
index 00000000..9136892d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll.gz
new file mode 100644
index 00000000..46ecf908
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll
new file mode 100755
index 00000000..9f1ff8c0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll.gz
new file mode 100644
index 00000000..e2a10d6b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll
new file mode 100755
index 00000000..245c4f47
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll.gz
new file mode 100644
index 00000000..f1f0d142
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll
new file mode 100755
index 00000000..e0e4d547
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll.gz
new file mode 100644
index 00000000..7372ec44
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll
new file mode 100755
index 00000000..34f0ffd7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll.gz
new file mode 100644
index 00000000..ecf7087b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll
new file mode 100755
index 00000000..a73d5d18
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll.gz
new file mode 100644
index 00000000..18ab8916
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll
new file mode 100755
index 00000000..4d4caf1d
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll.gz
new file mode 100644
index 00000000..cc703da7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll
new file mode 100755
index 00000000..1fe6e7f7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll.gz
new file mode 100644
index 00000000..eebcbe74
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll
new file mode 100755
index 00000000..0bb4c2a3
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll.gz
new file mode 100644
index 00000000..91683384
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll
new file mode 100755
index 00000000..587afd87
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll.gz
new file mode 100644
index 00000000..3d1fbd31
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll
new file mode 100755
index 00000000..e7353920
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll.gz
new file mode 100644
index 00000000..96bfc5b7
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll
new file mode 100755
index 00000000..263e5416
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll.gz
new file mode 100644
index 00000000..9c6a9079
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll
new file mode 100755
index 00000000..d47ea370
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll.gz
new file mode 100644
index 00000000..85ff1da4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll
new file mode 100755
index 00000000..35254fcd
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll.gz
new file mode 100644
index 00000000..c8124ae8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll
new file mode 100755
index 00000000..79247fe6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll.gz
new file mode 100644
index 00000000..fe352a9e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll
new file mode 100755
index 00000000..820fbbd2
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll.gz
new file mode 100644
index 00000000..8ccb5ed5
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll
new file mode 100755
index 00000000..18f7cb7e
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll.gz
new file mode 100644
index 00000000..cd70c8db
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.boot.json b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.boot.json
new file mode 100644
index 00000000..edb63e01
--- /dev/null
+++ b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.boot.json
@@ -0,0 +1,233 @@
+{
+ "cacheBootResources": true,
+ "config": [ ],
+ "debugBuild": true,
+ "entryAssembly": "Account_SQLite",
+ "icuDataMode": 0,
+ "linkerEnabled": false,
+ "resources": {
+ "assembly": {
+ "Microsoft.AspNetCore.Authorization.dll": "sha256-34F+BnSts\/TON8s8cSZc6roVw6IntMd\/sTrN8WOXiy8=",
+ "Microsoft.AspNetCore.Components.dll": "sha256-F+JMphRzIMZdciqr5Yf8CXeTA11n\/doTnAdObTPxNm8=",
+ "Microsoft.AspNetCore.Components.Forms.dll": "sha256-WApptBNmFJ1+dCg+jm360NFshcv7dvfzyBGl8rECTt8=",
+ "Microsoft.AspNetCore.Components.Web.dll": "sha256-Za1yJA2MY8T6DwapDEeBN9xCYb62MctrT1HKsNSePoE=",
+ "Microsoft.AspNetCore.Components.WebAssembly.dll": "sha256-izxJlD6frDIMfvXz53B+rqp7FpLgQypiJO+1kqTMPf4=",
+ "Microsoft.AspNetCore.Metadata.dll": "sha256-iqHFPB3TeviSbUBknWFRzrVtYoeM5yjCHZzUVHF8vuc=",
+ "Microsoft.Data.Sqlite.dll": "sha256-2APhdoJiRh+A9T+uyJsqGt0JHq3RdNSC3fPoSSe91YE=",
+ "Microsoft.EntityFrameworkCore.dll": "sha256-KR5QxHOsgza\/t3BPKA8odzRIa3Js0wrbNVrGelvoZSI=",
+ "Microsoft.EntityFrameworkCore.Abstractions.dll": "sha256-UJ1JMLF3tbjK8Do2sbQwuFmLe08qMLv3y+TkkAHRKk4=",
+ "Microsoft.EntityFrameworkCore.Relational.dll": "sha256-9row\/IjY5yIxPIkKlF\/BajMoZ4AAioTVcJw48rwKctQ=",
+ "Microsoft.EntityFrameworkCore.Sqlite.dll": "sha256-XEzuSft3Ntqm6zzICOw4rsa2NAiLInTH\/+dH7nNzMxQ=",
+ "Microsoft.Extensions.Caching.Abstractions.dll": "sha256-WLcZIKlgct2nj4hpaBvZXfHorQG9DH9B\/FZ2IKePG2I=",
+ "Microsoft.Extensions.Caching.Memory.dll": "sha256-aOJetx2rPupAGsXg2NCRL5p+\/xdzMyUSbmn24txWfQw=",
+ "Microsoft.Extensions.Configuration.dll": "sha256-c8yYhfrOBLEnOBglLTu9peXSbJDwFpuT4UQiXSv28Og=",
+ "Microsoft.Extensions.Configuration.Abstractions.dll": "sha256-5Otet+KKVUjNkE\/hqcNWmt75H1K2VNuKPFagpRd6Ces=",
+ "Microsoft.Extensions.Configuration.Binder.dll": "sha256-wNKhG3Ovx8jqxbscz2AALlsTLfI6GL2dyDhe63mSsoM=",
+ "Microsoft.Extensions.Configuration.FileExtensions.dll": "sha256-n2fRP2\/1tGNzaCF5PU4hgTSlHK886OviBf2YAds3NdE=",
+ "Microsoft.Extensions.Configuration.Json.dll": "sha256-R28\/ywLWxIcFxKtDIj0IxC+bXi4urX6BHeLL24R+vTQ=",
+ "Microsoft.Extensions.DependencyInjection.dll": "sha256-KqgYK1NWqMxcNfw2Qah+gUhX2Nm+OZrHjyYDQ3VNCeA=",
+ "Microsoft.Extensions.DependencyInjection.Abstractions.dll": "sha256-nM2DA1GqKLxoPU+NHO\/Z5yQWH5ctJb+2Tu5b9VxIxeM=",
+ "Microsoft.Extensions.DependencyModel.dll": "sha256-tkBiVGV6aPhN9weYepMZ2vvS6Ggf0uOE88fuWINRAHg=",
+ "Microsoft.Extensions.FileProviders.Abstractions.dll": "sha256-7PzvEcQvpK1c8tTX9VPI8AF+XrekqbAytNBQXJjvTvQ=",
+ "Microsoft.Extensions.FileProviders.Physical.dll": "sha256-sXujvGMZDgBBZ9HqfcEq9XsM0pvwyhPt60NA9qLDzGI=",
+ "Microsoft.Extensions.FileSystemGlobbing.dll": "sha256-viiXOG0fwhWobT0TQ1ZOJiZBdRvYRlWbDtjz+6d8sQI=",
+ "Microsoft.Extensions.Logging.dll": "sha256-GDZQCBtVHfrZZ6fL95lGoinLeUWLjQShLbfESwO7mrc=",
+ "Microsoft.Extensions.Logging.Abstractions.dll": "sha256-w+c+xfLh8QIAwluhugyPc8sPvAmmIC\/UTxnugT7Oido=",
+ "Microsoft.Extensions.Options.dll": "sha256-eGESyy9mRu8RcCGajAu4E8nxSmeB5nxiZkFPVaZ5Vl0=",
+ "Microsoft.Extensions.Primitives.dll": "sha256-jOmoWSfsdQexH\/6QCA56gR1RMEqeix2iDDUBWbpAOQI=",
+ "Microsoft.JSInterop.dll": "sha256-jk2\/Vyub2GwMGkeIaCH7i0wYYpcirlDPEBjrjmB47Es=",
+ "Microsoft.JSInterop.WebAssembly.dll": "sha256-9fmAKBOzIs7ySpwatFoAUhMgaJtTQvGN5+TArCHX9QE=",
+ "Radzen.Blazor.dll": "sha256-LUFpEkTpWClcEgwi3jvF4mmtg3CXyEmtNSZ0TNXNGtU=",
+ "SQLite.Net.dll": "sha256-2JdeuuhWXpz2DJFN3PmHVVLUtY++p54qPl6s1XtX9NY=",
+ "SQLitePCLRaw.batteries_v2.dll": "sha256-2QeGG\/\/WYKByIDzfutVzVUIdJQlHIlsXQwuQbTEOHoo=",
+ "SQLitePCLRaw.core.dll": "sha256-2FeknlBhJjPV1l5KbRBUXq1SNikSYFuSNXNmUSJQCOM=",
+ "SQLitePCLRaw.provider.e_sqlite3.dll": "sha256-liT7Qp0A3+\/bLUGJS9pNaH05jhO1mPcdTQTRoT8\/OdU=",
+ "SqliteWasmHelper.dll": "sha256-T91sHAM03+urZ2Y5OUYvogUE9spoqnl+VATi57siEWw=",
+ "System.IO.Pipelines.dll": "sha256-OXr1SqT\/FRQmnxVa6n811yUyJraU4tzQs5skNCiDmiM=",
+ "System.Linq.Dynamic.Core.dll": "sha256-+dlU8yi5zWnF9GeqOTl26t\/y5vllHc9O3mEwXdQjP7M=",
+ "Microsoft.CSharp.dll": "sha256-8UVF1TWUPxCBkipcI2XYSzpBv6v4U1oxvfrtuFpsZTI=",
+ "Microsoft.VisualBasic.Core.dll": "sha256-gOD5eyh0aM7C6A5ksyLWh2fDaTqfXiUJuOFFTeXz06U=",
+ "Microsoft.VisualBasic.dll": "sha256-ZgRq7Bi5L8\/sfQpBDMpurdhGGHrZsIojDBGBMJQPMj0=",
+ "Microsoft.Win32.Primitives.dll": "sha256-ZhVCFyk90FvLWdNLHg0816DLrv7oR64RYIFZktcYy44=",
+ "Microsoft.Win32.Registry.dll": "sha256-jpp3MYN\/4PplF\/bWmN8r+SWWnrYqto21REW7kqvSa\/I=",
+ "System.AppContext.dll": "sha256-FkC2fSdTB8v2YqBpVZ8IhcF8\/rwlsoc0S0C1O30Cj3A=",
+ "System.Buffers.dll": "sha256-RQzP+ZZgTQSsdVebQQr7rM3ybH4zMetX3ogViLMzKkc=",
+ "System.Collections.Concurrent.dll": "sha256-K5IYtPDpLmuajtkSJNiUtnGH4rcdfbnrFNKHx210zdY=",
+ "System.Collections.Immutable.dll": "sha256-V5G0k+87iocc4excGjwhOUnjdyt6d\/pViYxHsYvLtj4=",
+ "System.Collections.NonGeneric.dll": "sha256-ongTSqO+\/xwUXZ4E7L6qywEkY2NhrWHyg94aQ6lineo=",
+ "System.Collections.Specialized.dll": "sha256-FMogW7rW1H9l47Yx\/xv2ViQdhjjwRygx3TGnvDuPwsg=",
+ "System.Collections.dll": "sha256-z\/JnKzuXTD9rSeqPGZanuExp9nYphV\/K7k0b21AbQAg=",
+ "System.ComponentModel.Annotations.dll": "sha256-nKXO2oZme4LHLCJaTDhQ608MrcBM4odeWDTrdp95U+o=",
+ "System.ComponentModel.DataAnnotations.dll": "sha256-UQz1oXs2qNu34UWchEpK6CR0nvqhlqA2r0lpnK4PfTU=",
+ "System.ComponentModel.EventBasedAsync.dll": "sha256-L0yAMXk\/MGAfLFCOSv7C3spS9pQ8W6xZK5PrHnUWomo=",
+ "System.ComponentModel.Primitives.dll": "sha256-4XsPZYDIPP+Q3WDzaI0mGZj\/ISyHxAXfOab9ePAphok=",
+ "System.ComponentModel.TypeConverter.dll": "sha256-fQ54odFT8ZZT2pSvSALxTStO4zzGe5W6TEk++5dnSjU=",
+ "System.ComponentModel.dll": "sha256-Ywx4WFekhhw12Yu\/9NYmZqjo6We7nbzZ4Qbyqmfj0hA=",
+ "System.Configuration.dll": "sha256-pPLCkjVdnZWXplVAqYSwWlwK3233h\/iVw4RViSHbiOk=",
+ "System.Console.dll": "sha256-FEoQMhWI3PBEsDOi7bLsNHHZfElUCYTGmvj8N5RT2x0=",
+ "System.Core.dll": "sha256-H2eJ1+TAiHt8fkT37FdrWsTt6tILlC7tq1gl37p0Iv8=",
+ "System.Data.Common.dll": "sha256-QisFeEtPDQZT0vBlu+5YqQzck2fyDJoIzN+qR3SaSIs=",
+ "System.Data.DataSetExtensions.dll": "sha256-uGWJYi+eaImPEaJXOsBMBccFMRi4a0mPSzvKAlSnS54=",
+ "System.Data.dll": "sha256-gPYtercnm4lF230hqn9fkT8posbAeAxhR9Dylx\/oqFM=",
+ "System.Diagnostics.Contracts.dll": "sha256-BB2Izzth5DOv7CDvogmsCoyUI9GqjkH91ph\/cDjTROI=",
+ "System.Diagnostics.Debug.dll": "sha256-tUCd3ov7QrjYob8AA39SBAWbfsyggNbtPbO0AdFH2tY=",
+ "System.Diagnostics.DiagnosticSource.dll": "sha256-KmexLyYxoBsrDcwIHKgdc+3ZjwVk\/04zgZHORvFywCU=",
+ "System.Diagnostics.FileVersionInfo.dll": "sha256-+rTrw6ZymS88lOGWBojD\/d5Q5Dr63Q2GTvHldLu1lFI=",
+ "System.Diagnostics.Process.dll": "sha256-LhaRms3k8eUqXZLx1JWieR7NRwbtLCshNxa9juH4pIw=",
+ "System.Diagnostics.StackTrace.dll": "sha256-AK6nct1P1ggikg5WmDA6jT+xrqy\/HcXjh\/GN+ZWVBCc=",
+ "System.Diagnostics.TextWriterTraceListener.dll": "sha256-W0pyYKIb6Fs07PP3J5fWXNj13MCk39BGibsPbVscVxs=",
+ "System.Diagnostics.Tools.dll": "sha256-U7rcMfQYKo0e7rkziq29kEfwg6MmwnHHRQCZcYU+ADo=",
+ "System.Diagnostics.TraceSource.dll": "sha256-yNLYFuXxWdRQIlF84O8kDfn4AEA+xcThh0nC8cC9EnQ=",
+ "System.Diagnostics.Tracing.dll": "sha256-7svI2U48ItP6T41wPkVqMUlYkL0bIEaPLYHG4O03wdQ=",
+ "System.Drawing.Primitives.dll": "sha256-9hOmIWYgbRR6Pd067I4yjh6i5F9xlrD61QkoXynAPKc=",
+ "System.Drawing.dll": "sha256-7vgwJ4b\/T\/zsHYCXbAU7+qfEmGT6kIYlGib4JVOf9yA=",
+ "System.Dynamic.Runtime.dll": "sha256-C2cmGpKGlEZKs6w\/9vZkNURc7UJVVgzdt0KQ7jrGzKY=",
+ "System.Formats.Asn1.dll": "sha256-n9PAyaGVES2R6oc\/OrJ27AQOqqjUW3FHaeb00MJ0CDE=",
+ "System.Globalization.Calendars.dll": "sha256-QsR77tu42\/c9puyoFYn1Bqylq+bcLYEqGeMsZ8p67e0=",
+ "System.Globalization.Extensions.dll": "sha256-C\/PU2EvSH4CW9T+zdaqnveGIaWjzmzUjCyIifW24hmQ=",
+ "System.Globalization.dll": "sha256-XDfXwPWWLXu87fgoYs36Ahe+DV3BwYOq8Lo5Xwayn+s=",
+ "System.IO.Compression.Brotli.dll": "sha256-6aa2E3sdTiRGrkZwAma375sQd0Bu9ubuZdoO\/r48foE=",
+ "System.IO.Compression.FileSystem.dll": "sha256-MsW4P3qcM1YezdWwVsuJ5DVxCPgDkiyE9euV5E5za+E=",
+ "System.IO.Compression.ZipFile.dll": "sha256-SKC03Y5QjVMaGOy\/p23yyiMDGS6Q1rMTttLKzkm+\/cc=",
+ "System.IO.Compression.dll": "sha256-WoxloWnKqGzBlHfeWpLKdB31HOxspWGlMvd53f5uvSU=",
+ "System.IO.FileSystem.AccessControl.dll": "sha256-9lZ0fFg+9FgWEdGCGmpZJhSuGUOxtz+c6mKLG\/DMC1s=",
+ "System.IO.FileSystem.DriveInfo.dll": "sha256-Tve4l6w0buDpClDycjPW3iWyhcX1vhQIsHklups\/xI4=",
+ "System.IO.FileSystem.Primitives.dll": "sha256-FlZgUtpHH8KaWL7cdFs0TgXr9cIULio9YeDx7+oNVBU=",
+ "System.IO.FileSystem.Watcher.dll": "sha256-EvGvYNCiAn9YN3rkGTrGtLzCqb4grFSPsvY4A3oh1qQ=",
+ "System.IO.FileSystem.dll": "sha256-UkYgxpxY0338XGkxEO0CuZSflBXGAFKJXFR2R5z4P+8=",
+ "System.IO.IsolatedStorage.dll": "sha256-G8vUFtVjayiR8lHIAd\/YTsXoGKTkrWosThz76TI5F6I=",
+ "System.IO.MemoryMappedFiles.dll": "sha256-D4pZCClKeaBLhFoZ19iIAR6k2uHrrxVmtllhpctJv18=",
+ "System.IO.Pipes.AccessControl.dll": "sha256-E97VOGg\/r00sGq\/if6QLd9G7fQgVxMStkNdzKWosBc0=",
+ "System.IO.Pipes.dll": "sha256-C4IQAozM5w0\/FzeDCkfeUrlr8ZbYWUlmA7b6YHmfzS4=",
+ "System.IO.UnmanagedMemoryStream.dll": "sha256-OUEezfn7qJPkmgv4oFieC43+gdSR4IudWEmfZknpAvQ=",
+ "System.IO.dll": "sha256-lU8eZnIIizp3eeaB2d6Kln6nZwHW9R3jnEQZeD2V8xY=",
+ "System.Linq.Expressions.dll": "sha256-zOUJ1nU7gjDpiSNWaXa++X+GFzzGd7HsZvFfoOSFcwY=",
+ "System.Linq.Parallel.dll": "sha256-g9AG3FtD2iW0twp9gTsZ5eQxWPIwm1ebWRt1syV2LO4=",
+ "System.Linq.Queryable.dll": "sha256-9cwWew044xx3RqpdN3D79nxgEwSwPzod5T7drMNjz+c=",
+ "System.Linq.dll": "sha256-hdUKXrCbkbu0ZY0BVkcDwDephHAi7rCtPRuQsdcCtTk=",
+ "System.Memory.dll": "sha256-AfU9x5Gpyg13j+B1PLHFxhhkkgw\/7\/0tkUegOpuoEgU=",
+ "System.Net.Http.Json.dll": "sha256-iZlVaOgQCi58jRLdGxFiuaSpSssYMPS6GEiaKEqfhvU=",
+ "System.Net.Http.dll": "sha256-4yR1bmSBPbSKjxxAAS1Upz+lTblciEJH\/gCyWsauhas=",
+ "System.Net.HttpListener.dll": "sha256-ZQPq5fFUP0U8VYI5I0LtpDEUBxFCBXIG6jug5RaBwqw=",
+ "System.Net.Mail.dll": "sha256-MnSACm3tpx\/5bG+9+Fj\/i7AgK4i\/kvKWetkpt1g5t40=",
+ "System.Net.NameResolution.dll": "sha256-xeLOrtJGrxG1k1+u\/\/VEdRIe7hv2Ru3AJwlkqZDou10=",
+ "System.Net.NetworkInformation.dll": "sha256-PcZfOJfDIKZVhBhhMYebuxJpS2oaBXxwwv6eyBwZVEU=",
+ "System.Net.Ping.dll": "sha256-QGS3dgEF5FB4BGN1fKCwav+QYs4R8O4Oi01sYdXOW7E=",
+ "System.Net.Primitives.dll": "sha256-W04UfAzwxt9SY8kQoha\/R1k+yN2b5K+Z6ROtfEH8Pbw=",
+ "System.Net.Quic.dll": "sha256-IG6H+TIOb0bqDtFw9Qn0WjURUeZaZh05tleDP0Igyr8=",
+ "System.Net.Requests.dll": "sha256-7CinPBQRcnARva3fSxfa7b2Remh2M5mQANlhaLYNfc4=",
+ "System.Net.Security.dll": "sha256-FHAitcg1uQQSb2SCr+wV9vYHGbvxw6VVeHUu2Ll9uv8=",
+ "System.Net.ServicePoint.dll": "sha256-fZTDp1TP4cEV3IdM3nQadlZkiaZM+n2I1WNzePpzYCA=",
+ "System.Net.Sockets.dll": "sha256-NKDS334ykrgbEjXjTZ2mjdUyjLTbM8gHkJaaVyPuPLY=",
+ "System.Net.WebClient.dll": "sha256-+SoKAblCRPa6zmP3csrtTtbV9Wa92HxrzWTF149IlSU=",
+ "System.Net.WebHeaderCollection.dll": "sha256-uFOxHUjZnrZiDEoPGY9qwrsV7E+89W1ID0eGSgMdWi0=",
+ "System.Net.WebProxy.dll": "sha256-TeZoPKtofT0O2G7V0v+fC6H8P0Ug3moY0kcfbxnpqLk=",
+ "System.Net.WebSockets.Client.dll": "sha256-4ldQzLTe51J9nNPKx5uELr73Hzsj6E17qjtmoK1BhH0=",
+ "System.Net.WebSockets.dll": "sha256-YmBhXsxhj80n+eSad3ZTWRoWfcbqEP\/KPuLgVfuPRsw=",
+ "System.Net.dll": "sha256-YaKR6k7O3yzCeLAiTXyPSBw3zE\/dQLD38ASz8Vht9Ko=",
+ "System.Numerics.Vectors.dll": "sha256-mIgktrtOR72ylnu3SgMu3+0pm8szgOJrbLTc04idj6U=",
+ "System.Numerics.dll": "sha256-d9Rg5OLNjNKZkOTmbDY227k2hz0xNAWwZ\/33tOHN6DM=",
+ "System.ObjectModel.dll": "sha256-K12wC9\/+TxL\/3vzgANLwoCdnrapAbHnwzFX1\/zxyP4w=",
+ "System.Private.DataContractSerialization.dll": "sha256-T7MUMTyqvKubR6+D73kfs79Im4Sy4I1XdD5OM9iwkPM=",
+ "System.Private.Runtime.InteropServices.JavaScript.dll": "sha256-UyoXi6gzj6HkKcApx2qdOfvzAGv+PWa78VfNwSOdre8=",
+ "System.Private.Uri.dll": "sha256-J5bDSvm4jX7qFtcDn5OKJzNZbccp0Eocg5C3sXdfm8A=",
+ "System.Private.Xml.Linq.dll": "sha256-peKWRW2\/BSbZluHiwctIgwX44RUBcFlsjmzet3Oa1HI=",
+ "System.Private.Xml.dll": "sha256-WDaYzzP27HZ6zwijWZaEzarfWpYWMdCqIO66Jq+M8RQ=",
+ "System.Reflection.DispatchProxy.dll": "sha256-Kzb0rjUfXmtZ+uoohuIj6XG+IrIweKvIRMTcQtCQoUU=",
+ "System.Reflection.Emit.ILGeneration.dll": "sha256-pE1ZqtWtc3jcDQjJCHDfjmXRY27TcRX+YkRLJiTiqnM=",
+ "System.Reflection.Emit.Lightweight.dll": "sha256-PaNMU3ap\/8MItfqbF3LmTkkfsz2gbW3nn2aJcSsCCvs=",
+ "System.Reflection.Emit.dll": "sha256-XDgOnN+Ec5h+eb1bydVHHbZfUjvnRkKYIMlwh7K3kj8=",
+ "System.Reflection.Extensions.dll": "sha256-JKsTDJDSh5j9L\/WSxfipyo5VSwC+gt16DlIombV9JnQ=",
+ "System.Reflection.Metadata.dll": "sha256-Xvh75GrTyfErSp1eI5LnieGuksDwYVKvvXqttpdslds=",
+ "System.Reflection.Primitives.dll": "sha256-UvRlMpUS5pFfgKpchtV5yGODNSvSkO9XiiCCtITN+cI=",
+ "System.Reflection.TypeExtensions.dll": "sha256-q7H4U8NhV+IWEjmFbs7mPuUNLafE1NDii\/cAdVBXH+c=",
+ "System.Reflection.dll": "sha256-wU8NawkqHDchmF\/VaeIG8FLqLhdJXPqDZTYedfL2zM4=",
+ "System.Resources.Reader.dll": "sha256-rw\/+UpkqHo4rZvq32d1RdOSuR0hSQcSHupVq6NT1kXQ=",
+ "System.Resources.ResourceManager.dll": "sha256-zRBUrRgOkncVucHAXjBzrCMnmcNzZOvDCT+4etzTlWU=",
+ "System.Resources.Writer.dll": "sha256-EvevOqU6vp9dPJh6J\/l6QBezz22jY4iD9YPVSIFDb6s=",
+ "System.Runtime.CompilerServices.Unsafe.dll": "sha256-6K17V0W6VfnLiVg43QkSRUprOwfgapoZjHugwvuas0M=",
+ "System.Runtime.CompilerServices.VisualC.dll": "sha256-APa2rEQRuinyhpVkZ6KdD3iq0mEZIIIsv9XKEtHXGmM=",
+ "System.Runtime.Extensions.dll": "sha256-L2OMWQXRmvNpPocbC5pYLpbFdHj0FRuZkf2G33\/eoxE=",
+ "System.Runtime.Handles.dll": "sha256-n+MSIB4tQURkY7y12zb\/p8ZJbOszbezVR8TafPNrIsQ=",
+ "System.Runtime.InteropServices.RuntimeInformation.dll": "sha256-ZpFzbXgj3C5thUR+JOZH2saVJ6L6cGR+IkMWTdUo0zM=",
+ "System.Runtime.InteropServices.dll": "sha256-ZAfmG7mOtiTn\/\/KUyMrTFLy9q4nZr0noyyN8c1OhMi4=",
+ "System.Runtime.Intrinsics.dll": "sha256-EklfSpodEL4U2vHU3yQIBfs\/KaD1UslJItmf5WaKFzg=",
+ "System.Runtime.Loader.dll": "sha256-2JXo5DlrfJnRqqnmRp19HJbGqfCdFq3CMIwKCqhlHsQ=",
+ "System.Runtime.Numerics.dll": "sha256-W39hmZWKCKHsAoSsAYHc118MstJCwhGxdBvG1E0Y3h4=",
+ "System.Runtime.Serialization.Formatters.dll": "sha256-iIIhgtsbM\/1S9zc\/A2v5GL+mkZ9PIOmpzp5p5PAdLDA=",
+ "System.Runtime.Serialization.Json.dll": "sha256-gOe6QckUOG+ZzGfIUkE1yZQ5p3Vd7fIv0MM0NMG2+eg=",
+ "System.Runtime.Serialization.Primitives.dll": "sha256-E\/MN\/FdXTQFLd752DDurxJ3rLlac3OAJNiSqRUAC2Wc=",
+ "System.Runtime.Serialization.Xml.dll": "sha256-Eb+Bz6dqvV0QHj4hfC54n4fTFVQBej7g9qCQmB\/jQR0=",
+ "System.Runtime.Serialization.dll": "sha256-PhOVm+iUnZSLUKLKT7nJjkJ8dsuVVPQLGG3viCcmyME=",
+ "System.Runtime.dll": "sha256-nGmRByhcm6aLgKxHcPE7nXeD3\/vQJL2W6LbGkZ3jg8Y=",
+ "System.Security.AccessControl.dll": "sha256-KfxuXhcCl\/9Pmcl9FxOK2EX9U8rs\/0wy0oqrquXH5Uc=",
+ "System.Security.Claims.dll": "sha256-czRguTF9jKcB8T\/1fmKdMOCE8Np5jX+qLadC0n2v9hw=",
+ "System.Security.Cryptography.Algorithms.dll": "sha256-E6hIIvnYR+\/npcHrwVFG475bsSHGJ86dSpsD4rOpZ8U=",
+ "System.Security.Cryptography.Cng.dll": "sha256-cyGHGhH089lmlh7LsIcpbh0tBBalLhCnQSrnCxZPHNQ=",
+ "System.Security.Cryptography.Csp.dll": "sha256-cN0WAURvTnWTBj8ynoeKwdFPxx3QdpChZsWNFNYKPsk=",
+ "System.Security.Cryptography.Encoding.dll": "sha256-OKKqVj9kJ3Y1dkQSm1GZwcxwdVctR4lyfufvdOi2jjk=",
+ "System.Security.Cryptography.OpenSsl.dll": "sha256-52dV2B6OvEo59T9KyNotsyzjiayyJ+tdCrt3joYnOWk=",
+ "System.Security.Cryptography.Primitives.dll": "sha256-+gyCRDm6zbGjr\/A22iw7WCheMKs\/u3yPSVtnk8G0rIw=",
+ "System.Security.Cryptography.X509Certificates.dll": "sha256-rgRoBgWthPnK4ksHZoZBv9jh8ja7LyHcEYb3mr51EL0=",
+ "System.Security.Principal.Windows.dll": "sha256-gleQbVzK9IsJCVC8Pbdd7THYYyHvaOAPcPxHWL+lWT0=",
+ "System.Security.Principal.dll": "sha256-PvxVqzoAtUucsuUg+UlNjmQDoXQFAcmgd26iFc61X7k=",
+ "System.Security.SecureString.dll": "sha256-S5\/yBMMXJpWduYNdCHGBMcaHPUO0T1BNdA7n3zpz6JY=",
+ "System.Security.dll": "sha256-m9vbgGP4MLvRh8Ofa+\/GSS6yHHMZc1AikOXU\/FLeTHg=",
+ "System.ServiceModel.Web.dll": "sha256-KQfgXJ67+pR4yf+\/Egw1GuyOY4+pVGLv+ykG0MLi2+c=",
+ "System.ServiceProcess.dll": "sha256-j7NKDkjuaEOrTqTwf+wuXD5ecvV8hG0AL0H8ajGFxxs=",
+ "System.Text.Encoding.CodePages.dll": "sha256-DFJcVE5YoUsUTZDRTdi+8q1vcpIGZnI\/UbCf+4GdJ+0=",
+ "System.Text.Encoding.Extensions.dll": "sha256-ud04p\/IgOICKQ4hRKHn1B3qZeLYRc8X1FlUvhkoNFvM=",
+ "System.Text.Encoding.dll": "sha256-H9If4AVIBLCmSf4xTCdSH7qKas173BKxErN6IzYpdO0=",
+ "System.Text.Encodings.Web.dll": "sha256-P7DpDcIuZ9ctgcXD3CQ9b7rdLW9+jEL4vx9vKHYyxXo=",
+ "System.Text.Json.dll": "sha256-Z\/DhRhO1eT1cOMbPzDFqRIZCh3Ii5r37+mshMLLlID0=",
+ "System.Text.RegularExpressions.dll": "sha256-1epmmxLCRGJneOMTLFg5zryW96chWg9pBq+Rrya7gcY=",
+ "System.Threading.Channels.dll": "sha256-vBdrcTcL01LAZftbe6V\/MHW53fwnSnAvX7rvGPTHMD4=",
+ "System.Threading.Overlapped.dll": "sha256-CT9PucBLgFGf3wJ+LfWMJNI0YS2uEGgZIQEHgeLxSeU=",
+ "System.Threading.Tasks.Dataflow.dll": "sha256-V0gELODyuzGogxSSQc4h0p5tGA6TYEuNkSi6JaN2Bq8=",
+ "System.Threading.Tasks.Extensions.dll": "sha256-gbflKKrV044ELtapmrcITXsiZKK9ag8ia3+\/yxKI\/74=",
+ "System.Threading.Tasks.Parallel.dll": "sha256-NMkD5rsWmNqYTO8rqEdHHWhcJMuNfe9KMoMXcoy8P\/M=",
+ "System.Threading.Tasks.dll": "sha256-c1IdXHP1+ttWv2Lk3l5e9wt+xWA3UTlJzEp4YZA3jHM=",
+ "System.Threading.Thread.dll": "sha256-7JrNNGNseUTd8aBQ+46M75DDKegFxP4Mfj6EdGEO7e8=",
+ "System.Threading.ThreadPool.dll": "sha256-\/VtLkPxzg03axqV1AWU0y6rtPzUtE7Covhtz35Gd4WI=",
+ "System.Threading.Timer.dll": "sha256-9Sfga8ftnPShNk6TfvBN7pJttKTqoeB8Dh5Dl6Jj+0A=",
+ "System.Threading.dll": "sha256-\/qU2wLSHAm5M80qWvcUHegm58B5PE8jHz+vRhG0oyWk=",
+ "System.Transactions.Local.dll": "sha256-PwLEaoYIUqnhSUuBmLeg7Z9xdp3xeN\/KeLbl5KGWddM=",
+ "System.Transactions.dll": "sha256-Hw7yQFO6s2F7tSF28ZqbYVZYU8C0E2t3Tl3td0j03jA=",
+ "System.ValueTuple.dll": "sha256-bROgzdvXEX2kG+3mUsg2DaitY8orpKTci0LXGrkggmw=",
+ "System.Web.HttpUtility.dll": "sha256-T53rVtP58TtoQh2Fbp56OkN09vIEpHkmDEnRT3rgPaY=",
+ "System.Web.dll": "sha256-n\/Yffqf1O7pklzkAhoBOrgu3ctNf+N1BjZlI1XJ73OQ=",
+ "System.Windows.dll": "sha256-Wvaw3qXl5ky\/d9vKfUHusZKKAm7p6DXWjVUAdEtr0FQ=",
+ "System.Xml.Linq.dll": "sha256-cqkrXv5FQ\/CFEUI0TUq1XLudTpbl+ylbtK4MgrjjCn0=",
+ "System.Xml.ReaderWriter.dll": "sha256-LdOx6fdRyfImo076YqJswg5T\/kz0W35zY5Bxzvu4bg0=",
+ "System.Xml.Serialization.dll": "sha256-jDgvUAJcbga4YBf85rlJS+mBa9PPfEq5xPpWi0Yy7vU=",
+ "System.Xml.XDocument.dll": "sha256-379HQGCc7jcbJBv3EZ9oThRs4+KytL4+4grGGXK0NAE=",
+ "System.Xml.XPath.XDocument.dll": "sha256-HDoYy88J2a\/d03AAgJYAoU7SCO9fSuyRu9sUzFg5cSA=",
+ "System.Xml.XPath.dll": "sha256-zdO8KHqhw4CvshzXavUPMftdzNGO3P6RsoqiWIkB9VY=",
+ "System.Xml.XmlDocument.dll": "sha256-9mzmBNe2e7m9RnR3Pk+Rzkq8X3jVmuZoVaJ+aDtZ1vE=",
+ "System.Xml.XmlSerializer.dll": "sha256-7IG747ObsbU0F1XE1cPzo5stiK3+Bzu5QJTsbNp1ghw=",
+ "System.Xml.dll": "sha256-Pk6SFlpcUa9rGuzLsrYMxXBJ5+z27OyyFJ9LRlnopzM=",
+ "System.dll": "sha256-38ae8SoDtR6ynwmRtxV4XYa77mxCTS97Wi4r655aIGI=",
+ "WindowsBase.dll": "sha256-KvLLadWLn60MfIz5AYXq00L9kT67VsOzuR4tAm4vUow=",
+ "mscorlib.dll": "sha256-zNVxhWqav+Wvwc8mjOqsl40bhVLw78MhgITrphqoROc=",
+ "netstandard.dll": "sha256-yQ7oiuGXRX47V21EibXbfTPXOkJGOgCJhW9YF6e4hw0=",
+ "System.Private.CoreLib.dll": "sha256-Ug2\/rd8Ck7Dls6uaZNmrqc7EvE8f41iX96qdX57LStQ=",
+ "Account_SQLite.dll": "sha256-huZPl9JvS5hXgLcmNbcyCiWI\/3h5MVMsJScrLQuIGDw="
+ },
+ "extensions": null,
+ "lazyAssembly": null,
+ "libraryInitializers": null,
+ "pdb": {
+ "Account_SQLite.pdb": "sha256-HUdQaXaMhj97f6DyUgBc1KQlVH7sT2rk0vZfraEWGuw="
+ },
+ "runtime": {
+ "dotnet.timezones.blat": "sha256-44J\/Hf\/X8VbgiBAazDB8c0FaVrAFYOb4BbGyQwuzNyk=",
+ "icudt.dat": "sha256-Zuq0dWAsBm6\/2lSOsz7+H9PvFaRn61KIXHMMwXDfvyE=",
+ "icudt_CJK.dat": "sha256-WPyI4hWDPnOw62Nr27FkzGjdbucZnQD+Ph+GOPhAedw=",
+ "icudt_EFIGS.dat": "sha256-4RwaPx87Z4dvn77ie\/ro3\/QzyS+\/gGmO3Y\/0CSAXw4k=",
+ "icudt_no_CJK.dat": "sha256-OxylFgLJlFqixsj+nLxYVsv5iZLvfIKMpLf9hrWaChA=",
+ "dotnet.wasm": "sha256-3xQeIRtu\/DogglGK8zEoSxKRD\/1bIBBowMgkcGf9dKs=",
+ "dotnet..0qqpqpio55.js": "sha256-qCSLMmIabrtbMnfRF0pXcNjoDs32EPFTuLEZ0FHxHGI="
+ },
+ "satelliteResources": null
+ }
+}
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js
new file mode 100755
index 00000000..f8897437
--- /dev/null
+++ b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,t,n;!function(e){window.DotNet=e;const t=[],n=new Map,r=new Map,o="__jsObjectId",s="__byte[]";class a{constructor(e){this._jsObject=e,this._cachedFunctions=new Map}findFunction(e){const t=this._cachedFunctions.get(e);if(t)return t;let n,r=this._jsObject;if(e.split(".").forEach((t=>{if(!(t in r))throw new Error(`Could not find '${e}' ('${t}' was undefined).`);n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error(`The value '${e}' is not a function.`)}getWrappedObject(){return this._jsObject}}const i={},c={0:new a(window)};c[0]._cachedFunctions.set("import",(e=>("string"==typeof e&&e.startsWith("./")&&(e=document.baseURI+e.substr(2)),import(e))));let l,u=1,d=1,f=null;function m(e){t.push(e)}function h(e){if(e&&"object"==typeof e){c[d]=new a(e);const t={[o]:d};return d++,t}throw new Error(`Cannot create a JSObjectReference from the value '${e}'.`)}function p(e){let t=-1;if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Blob)t=e.size;else{if(!(e.buffer instanceof ArrayBuffer))throw new Error("Supplied value is not a typed array or blob.");if(void 0===e.byteLength)throw new Error(`Cannot create a JSStreamReference from the value '${e}' as it doesn't have a byteLength.`);t=e.byteLength}const n={__jsStreamReferenceLength:t};try{const t=h(e);n.__jsObjectId=t.__jsObjectId}catch{throw new Error(`Cannot create a JSStreamReference from the value '${e}'.`)}return n}function y(e){return e?JSON.parse(e,((e,n)=>t.reduce(((t,n)=>n(e,t)),n))):null}function g(e,t,n,r){const o=w();if(o.invokeDotNetFromJS){const s=O(r),a=o.invokeDotNetFromJS(e,t,n,s);return a?y(a):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeMethodAsync instead.")}function b(e,t,n,r){if(e&&n)throw new Error(`For instance method calls, assemblyName should be null. Received '${e}'.`);const o=u++,s=new Promise(((e,t)=>{i[o]={resolve:e,reject:t}}));try{const s=O(r);w().beginInvokeDotNetFromJS(o,e,t,n,s)}catch(e){v(o,!1,e)}return s}function w(){if(null!==f)return f;throw new Error("No .NET call dispatcher has been set.")}function v(e,t,n){if(!i.hasOwnProperty(e))throw new Error(`There is no pending async call with ID ${e}.`);const r=i[e];delete i[e],t?r.resolve(n):r.reject(n)}function E(e){return e instanceof Error?`${e.message}\n${e.stack}`:e?e.toString():"null"}function _(e,t){let n=c[t];if(n)return n.findFunction(e);throw new Error(`JS object instance with ID ${t} does not exist (has it been disposed?).`)}function I(e){delete c[e]}e.attachDispatcher=function(e){f=e},e.attachReviver=m,e.invokeMethod=function(e,t,...n){return g(e,t,null,n)},e.invokeMethodAsync=function(e,t,...n){return b(e,t,null,n)},e.createJSObjectReference=h,e.createJSStreamReference=p,e.disposeJSObjectReference=function(e){const t=e&&e.__jsObjectId;"number"==typeof t&&I(t)},function(e){e[e.Default=0]="Default",e[e.JSObjectReference=1]="JSObjectReference",e[e.JSStreamReference=2]="JSStreamReference",e[e.JSVoidResult=3]="JSVoidResult"}(l=e.JSCallResultType||(e.JSCallResultType={})),e.jsCallDispatcher={findJSFunction:_,disposeJSObjectReferenceById:I,invokeJSFromDotNet:(e,t,n,r)=>{const o=S(_(e,r).apply(null,y(t)),n);return null==o?null:O(o)},beginInvokeJSFromDotNet:(e,t,n,r,o)=>{const s=new Promise((e=>{e(_(t,o).apply(null,y(n)))}));e&&s.then((t=>w().endInvokeJSFromDotNet(e,!0,O([e,!0,S(t,r)]))),(t=>w().endInvokeJSFromDotNet(e,!1,JSON.stringify([e,!1,E(t)]))))},endInvokeDotNetFromJS:(e,t,n)=>{const r=t?y(n):new Error(n);v(parseInt(e),t,r)},receiveByteArray:(e,t)=>{n.set(e,t)},supplyDotNetStream:(e,t)=>{if(r.has(e)){const n=r.get(e);r.delete(e),n.resolve(t)}else{const n=new A;n.resolve(t),r.set(e,n)}}};class N{constructor(e){this._id=e}invokeMethod(e,...t){return g(null,e,this._id,t)}invokeMethodAsync(e,...t){return b(null,e,this._id,t)}dispose(){b(null,"__Dispose",this._id,null).catch((e=>console.error(e)))}serializeAsArg(){return{__dotNetObject:this._id}}}e.DotNetObject=N,m((function(e,t){if(t&&"object"==typeof t){if(t.hasOwnProperty("__dotNetObject"))return new N(t.__dotNetObject);if(t.hasOwnProperty(o)){const e=t.__jsObjectId,n=c[e];if(n)return n.getWrappedObject();throw new Error(`JS object instance with Id '${e}' does not exist. It may have been disposed.`)}if(t.hasOwnProperty(s)){const e=t["__byte[]"],r=n.get(e);if(void 0===r)throw new Error(`Byte array index '${e}' does not exist.`);return n.delete(e),r}if(t.hasOwnProperty("__dotNetStream"))return new C(t.__dotNetStream)}return t}));class C{constructor(e){var t;if(r.has(e))this._streamPromise=null===(t=r.get(e))||void 0===t?void 0:t.streamPromise,r.delete(e);else{const t=new A;r.set(e,t),this._streamPromise=t.streamPromise}}stream(){return this._streamPromise}async arrayBuffer(){return new Response(await this.stream()).arrayBuffer()}}class A{constructor(){this.streamPromise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function S(e,t){switch(t){case l.Default:return e;case l.JSObjectReference:return h(e);case l.JSStreamReference:return p(e);case l.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${t}'.`)}}let R=0;function O(e){return R=0,JSON.stringify(e,k)}function k(e,t){if(t instanceof N)return t.serializeAsArg();if(t instanceof Uint8Array){f.sendByteArray(R,t);const e={[s]:R};return R++,e}return t}}(e||(e={})),function(e){e[e.prependFrame=1]="prependFrame",e[e.removeFrame=2]="removeFrame",e[e.setAttribute=3]="setAttribute",e[e.removeAttribute=4]="removeAttribute",e[e.updateText=5]="updateText",e[e.stepIn=6]="stepIn",e[e.stepOut=7]="stepOut",e[e.updateMarkup=8]="updateMarkup",e[e.permutationListEntry=9]="permutationListEntry",e[e.permutationListEnd=10]="permutationListEnd"}(t||(t={})),function(e){e[e.element=1]="element",e[e.text=2]="text",e[e.attribute=3]="attribute",e[e.component=4]="component",e[e.region=5]="region",e[e.elementReferenceCapture=6]="elementReferenceCapture",e[e.markup=8]="markup"}(n||(n={}));class r{constructor(e,t){this.componentId=e,this.fieldValue=t}static fromEvent(e,t){const n=t.target;if(n instanceof Element){const t=function(e){return e instanceof HTMLInputElement?e.type&&"checkbox"===e.type.toLowerCase()?{value:e.checked}:{value:e.value}:e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?{value:e.value}:null}(n);if(t)return new r(e,t.value)}return null}}const o=new Map,s=new Map,a=[];function i(e){return o.get(e)}function c(e){const t=o.get(e);return(null==t?void 0:t.browserEventName)||e}function l(e,t){e.forEach((e=>o.set(e,t)))}function u(e){const t=[];for(let n=0;ne.selected)).map((e=>e.value))}}return{value:function(e){return!!e&&"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}(t)?!!t.checked:t.value}}}),l(["copy","cut","paste"],{createEventArgs:e=>({type:e.type})}),l(["drag","dragend","dragenter","dragleave","dragover","dragstart","drop"],{createEventArgs:e=>{return{...d(t=e),dataTransfer:t.dataTransfer?{dropEffect:t.dataTransfer.dropEffect,effectAllowed:t.dataTransfer.effectAllowed,files:Array.from(t.dataTransfer.files).map((e=>e.name)),items:Array.from(t.dataTransfer.items).map((e=>({kind:e.kind,type:e.type}))),types:t.dataTransfer.types}:null};var t}}),l(["focus","blur","focusin","focusout"],{createEventArgs:e=>({type:e.type})}),l(["keydown","keyup","keypress"],{createEventArgs:e=>{return{key:(t=e).key,code:t.code,location:t.location,repeat:t.repeat,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["contextmenu","click","mouseover","mouseout","mousemove","mousedown","mouseup","dblclick"],{createEventArgs:e=>d(e)}),l(["error"],{createEventArgs:e=>{return{message:(t=e).message,filename:t.filename,lineno:t.lineno,colno:t.colno,type:t.type};var t}}),l(["loadstart","timeout","abort","load","loadend","progress"],{createEventArgs:e=>{return{lengthComputable:(t=e).lengthComputable,loaded:t.loaded,total:t.total,type:t.type};var t}}),l(["touchcancel","touchend","touchmove","touchenter","touchleave","touchstart"],{createEventArgs:e=>{return{detail:(t=e).detail,touches:u(t.touches),targetTouches:u(t.targetTouches),changedTouches:u(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["gotpointercapture","lostpointercapture","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup"],{createEventArgs:e=>{return{...d(t=e),pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tiltX:t.tiltX,tiltY:t.tiltY,pointerType:t.pointerType,isPrimary:t.isPrimary};var t}}),l(["wheel","mousewheel"],{createEventArgs:e=>{return{...d(t=e),deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode};var t}}),l(["toggle"],{createEventArgs:()=>({})});const f=["date","datetime-local","month","time","week"],m=new Map;let h,p,y=0;const g={async add(e,t,n){if(!n)throw new Error("initialParameters must be an object, even if empty.");const r="__bl-dynamic-root:"+(++y).toString();m.set(r,e);const o=await v().invokeMethodAsync("AddRootComponent",t,r),s=new w(o,p[t]);return await s.setParameters(n),s}};class b{invoke(e){return this._callback(e)}setCallback(t){this._selfJSObjectReference||(this._selfJSObjectReference=e.createJSObjectReference(this)),this._callback=t}getJSObjectReference(){return this._selfJSObjectReference}dispose(){this._selfJSObjectReference&&e.disposeJSObjectReference(this._selfJSObjectReference)}}class w{constructor(e,t){this._jsEventCallbackWrappers=new Map,this._componentId=e;for(const e of t)"eventcallback"===e.type&&this._jsEventCallbackWrappers.set(e.name.toLowerCase(),new b)}setParameters(e){const t={},n=Object.entries(e||{}),r=n.length;for(const[e,r]of n){const n=this._jsEventCallbackWrappers.get(e.toLowerCase());n&&r?(n.setCallback(r),t[e]=n.getJSObjectReference()):t[e]=r}return v().invokeMethodAsync("SetRootComponentParameters",this._componentId,r,t)}async dispose(){if(null!==this._componentId){await v().invokeMethodAsync("RemoveRootComponent",this._componentId),this._componentId=null;for(const e of this._jsEventCallbackWrappers.values())e.dispose()}}}function v(){if(!h)throw new Error("Dynamic root components have not been enabled in this application.");return h}const E=new Map;let _;const I=new Promise((e=>{_=e}));function N(e,t,n){return A(e,t.eventHandlerId,(()=>C(e).invokeMethodAsync("DispatchEventAsync",t,n)))}function C(e){const t=E.get(e);if(!t)throw new Error(`No interop methods are registered for renderer ${e}`);return t}let A=(e,t,n)=>n();const S=F(["abort","blur","canplay","canplaythrough","change","cuechange","durationchange","emptied","ended","error","focus","load","loadeddata","loadedmetadata","loadend","loadstart","mouseenter","mouseleave","pause","play","playing","progress","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","toggle","unload","volumechange","waiting","DOMNodeInsertedIntoDocument","DOMNodeRemovedFromDocument"]),R={submit:!0},O=F(["click","dblclick","mousedown","mousemove","mouseup"]);class k{constructor(e){this.browserRendererId=e,this.afterClickCallbacks=[];const t=++k.nextEventDelegatorId;this.eventsCollectionKey=`_blazorEvents_${t}`,this.eventInfoStore=new D(this.onGlobalEvent.bind(this))}setListener(e,t,n,r){const o=this.getEventHandlerInfosForElement(e,!0),s=o.getHandler(t);if(s)this.eventInfoStore.update(s.eventHandlerId,n);else{const s={element:e,eventName:t,eventHandlerId:n,renderingComponentId:r};this.eventInfoStore.add(s),o.setHandler(t,s)}}getHandler(e){return this.eventInfoStore.get(e)}removeListener(e){const t=this.eventInfoStore.remove(e);if(t){const e=t.element,n=this.getEventHandlerInfosForElement(e,!1);n&&n.removeHandler(t.eventName)}}notifyAfterClick(e){this.afterClickCallbacks.push(e),this.eventInfoStore.addGlobalListener("click")}setStopPropagation(e,t,n){this.getEventHandlerInfosForElement(e,!0).stopPropagation(t,n)}setPreventDefault(e,t,n){this.getEventHandlerInfosForElement(e,!0).preventDefault(t,n)}onGlobalEvent(e){if(!(e.target instanceof Element))return;this.dispatchGlobalEventToAllElements(e.type,e);const t=(n=e.type,s.get(n));var n;t&&t.forEach((t=>this.dispatchGlobalEventToAllElements(t,e))),"click"===e.type&&this.afterClickCallbacks.forEach((t=>t(e)))}dispatchGlobalEventToAllElements(e,t){const n=t.composedPath();let o=n.shift(),s=null,a=!1;const c=S.hasOwnProperty(e);let l=!1;for(;o;){const f=o,m=this.getEventHandlerInfosForElement(f,!1);if(m){const n=m.getHandler(e);if(n&&(u=f,d=t.type,!((u instanceof HTMLButtonElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement)&&O.hasOwnProperty(d)&&u.disabled))){if(!a){const n=i(e);s=(null==n?void 0:n.createEventArgs)?n.createEventArgs(t):{},a=!0}R.hasOwnProperty(t.type)&&t.preventDefault(),N(this.browserRendererId,{eventHandlerId:n.eventHandlerId,eventName:e,eventFieldInfo:r.fromEvent(n.renderingComponentId,t)},s)}m.stopPropagation(e)&&(l=!0),m.preventDefault(e)&&t.preventDefault()}o=c||l?void 0:n.shift()}var u,d}getEventHandlerInfosForElement(e,t){return e.hasOwnProperty(this.eventsCollectionKey)?e[this.eventsCollectionKey]:t?e[this.eventsCollectionKey]=new B:null}}k.nextEventDelegatorId=0;class D{constructor(e){this.globalListener=e,this.infosByEventHandlerId={},this.countByEventName={},a.push(this.handleEventNameAliasAdded.bind(this))}add(e){if(this.infosByEventHandlerId[e.eventHandlerId])throw new Error(`Event ${e.eventHandlerId} is already tracked`);this.infosByEventHandlerId[e.eventHandlerId]=e,this.addGlobalListener(e.eventName)}get(e){return this.infosByEventHandlerId[e]}addGlobalListener(e){if(e=c(e),this.countByEventName.hasOwnProperty(e))this.countByEventName[e]++;else{this.countByEventName[e]=1;const t=S.hasOwnProperty(e);document.addEventListener(e,this.globalListener,t)}}update(e,t){if(this.infosByEventHandlerId.hasOwnProperty(t))throw new Error(`Event ${t} is already tracked`);const n=this.infosByEventHandlerId[e];delete this.infosByEventHandlerId[e],n.eventHandlerId=t,this.infosByEventHandlerId[t]=n}remove(e){const t=this.infosByEventHandlerId[e];if(t){delete this.infosByEventHandlerId[e];const n=c(t.eventName);0==--this.countByEventName[n]&&(delete this.countByEventName[n],document.removeEventListener(n,this.globalListener))}return t}handleEventNameAliasAdded(e,t){if(this.countByEventName.hasOwnProperty(e)){const n=this.countByEventName[e];delete this.countByEventName[e],document.removeEventListener(e,this.globalListener),this.addGlobalListener(t),this.countByEventName[t]+=n-1}}}class B{constructor(){this.handlers={},this.preventDefaultFlags=null,this.stopPropagationFlags=null}getHandler(e){return this.handlers.hasOwnProperty(e)?this.handlers[e]:null}setHandler(e,t){this.handlers[e]=t}removeHandler(e){delete this.handlers[e]}preventDefault(e,t){return void 0!==t&&(this.preventDefaultFlags=this.preventDefaultFlags||{},this.preventDefaultFlags[e]=t),!!this.preventDefaultFlags&&this.preventDefaultFlags[e]}stopPropagation(e,t){return void 0!==t&&(this.stopPropagationFlags=this.stopPropagationFlags||{},this.stopPropagationFlags[e]=t),!!this.stopPropagationFlags&&this.stopPropagationFlags[e]}}function F(e){const t={};return e.forEach((e=>{t[e]=!0})),t}const T=Y("_blazorLogicalChildren"),M=Y("_blazorLogicalParent"),j=Y("_blazorLogicalEnd");function L(e,t){if(e.childNodes.length>0&&!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");return T in e||(e[T]=[]),e}function P(e,t){const n=document.createComment("!");return x(n,e,t),n}function x(e,t,n){const r=e;if(e instanceof Comment&&z(r)&&z(r).length>0)throw new Error("Not implemented: inserting non-empty logical container");if($(r))throw new Error("Not implemented: moving existing logical children");const o=z(t);if(n0;)H(n,0)}const r=n;r.parentNode.removeChild(r)}function $(e){return e[M]||null}function J(e,t){return z(e)[t]}function U(e){var t=W(e);return"http://www.w3.org/2000/svg"===t.namespaceURI&&"foreignObject"!==t.tagName}function z(e){return e[T]}function G(e,t){const n=z(e);t.forEach((e=>{e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=X(e.moveRangeStart)})),t.forEach((t=>{const r=t.moveToBeforeMarker=document.createComment("marker"),o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):V(r,e)})),t.forEach((e=>{const t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd;let s=r;for(;s;){const e=s.nextSibling;if(n.insertBefore(s,t),s===o)break;s=e}n.removeChild(t)})),t.forEach((e=>{n[e.toSiblingIndex]=e.moveRangeStart}))}function W(e){if(e instanceof Element||e instanceof DocumentFragment)return e;if(e instanceof Comment)return e.parentNode;throw new Error("Not a valid logical element")}function K(e){const t=z($(e));return t[Array.prototype.indexOf.call(t,e)+1]||null}function V(e,t){if(t instanceof Element||t instanceof DocumentFragment)t.appendChild(e);else{if(!(t instanceof Comment))throw new Error(`Cannot append node because the parent is not a valid logical element. Parent: ${t}`);{const n=K(t);n?n.parentNode.insertBefore(e,n):V(e,$(t))}}}function X(e){if(e instanceof Element||e instanceof DocumentFragment)return e;const t=K(e);if(t)return t.previousSibling;{const t=$(e);return t instanceof Element||t instanceof DocumentFragment?t.lastChild:X(t)}}function Y(e){return"function"==typeof Symbol?Symbol():e}function q(e){return`_bl_${e}`}e.attachReviver(((e,t)=>t&&"object"==typeof t&&t.hasOwnProperty("__internalId")&&"string"==typeof t.__internalId?function(e){const t=`[${q(e)}]`;return document.querySelector(t)}(t.__internalId):t));const Z="_blazorDeferredValue",Q=document.createElement("template"),ee=document.createElementNS("http://www.w3.org/2000/svg","g"),te={},ne="__internal_",re="preventDefault_",oe="stopPropagation_";class se{constructor(e){this.rootComponentIds=new Set,this.childComponentLocations={},this.eventDelegator=new k(e),this.eventDelegator.notifyAfterClick((e=>{if(!he)return;if(0!==e.button||function(e){return e.ctrlKey||e.shiftKey||e.altKey||e.metaKey}(e))return;if(e.defaultPrevented)return;const t=function(e){const t=!window._blazorDisableComposedPath&&e.composedPath&&e.composedPath();if(t){for(let e=0;eve(!1))))},enableNavigationInterception:function(){he=!0},navigateTo:be,getBaseURI:()=>document.baseURI,getLocationHref:()=>location.href};function be(e,t,n=!1){const r=_e(e),o=t instanceof Object?t:{forceLoad:t,replaceHistoryEntry:n};!o.forceLoad&&Ne(r)?we(r,!1,o.replaceHistoryEntry):function(e,t){if(location.href===e){const t=e+"?";history.replaceState(null,"",t),location.replace(e)}else t?location.replace(e):location.href=e}(e,o.replaceHistoryEntry)}function we(e,t,n){fe=!0,n?history.replaceState(null,"",e):history.pushState(null,"",e),ve(t)}async function ve(e){ye&&await ye(location.href,e)}let Ee;function _e(e){return Ee=Ee||document.createElement("a"),Ee.href=e,Ee.href}function Ie(e,t){return e?e.tagName===t?e:Ie(e.parentElement,t):null}function Ne(e){const t=(n=document.baseURI).substr(0,n.lastIndexOf("/")+1);var n;return e.startsWith(t)}const Ce={focus:function(e,t){if(e instanceof HTMLElement)e.focus({preventScroll:t});else{if(!(e instanceof SVGElement))throw new Error("Unable to focus an invalid element.");if(!e.hasAttribute("tabindex"))throw new Error("Unable to focus an SVG element that does not have a tabindex.");e.focus({preventScroll:t})}},focusBySelector:function(e){const t=document.querySelector(e);t&&(t.hasAttribute("tabindex")||(t.tabIndex=-1),t.focus())}},Ae={init:function(e,t,n,r=50){const o=Re(t);(o||document.documentElement).style.overflowAnchor="none";const s=document.createRange();u(n.parentElement)&&(t.style.display="table-row",n.style.display="table-row");const a=new IntersectionObserver((function(r){r.forEach((r=>{var o;if(!r.isIntersecting)return;s.setStartAfter(t),s.setEndBefore(n);const a=s.getBoundingClientRect().height,i=null===(o=r.rootBounds)||void 0===o?void 0:o.height;r.target===t?e.invokeMethodAsync("OnSpacerBeforeVisible",r.intersectionRect.top-r.boundingClientRect.top,a,i):r.target===n&&n.offsetHeight>0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,a,i)}))}),{root:o,rootMargin:`${r}px`});a.observe(t),a.observe(n);const i=l(t),c=l(n);function l(e){const t={attributes:!0},n=new MutationObserver(((n,r)=>{u(e.parentElement)&&(r.disconnect(),e.style.display="table-row",r.observe(e,t)),a.unobserve(e),a.observe(e)}));return n.observe(e,t),n}function u(e){return null!==e&&(e instanceof HTMLTableElement&&""===e.style.display||"table"===e.style.display||e instanceof HTMLTableSectionElement&&""===e.style.display||"table-row-group"===e.style.display)}Se[e._id]={intersectionObserver:a,mutationObserverBefore:i,mutationObserverAfter:c}},dispose:function(e){const t=Se[e._id];t&&(t.intersectionObserver.disconnect(),t.mutationObserverBefore.disconnect(),t.mutationObserverAfter.disconnect(),e.dispose(),delete Se[e._id])}},Se={};function Re(e){return e?"visible"!==getComputedStyle(e).overflowY?e:Re(e.parentElement):null}const Oe={getAndRemoveExistingTitle:function(){var e;const t=document.getElementsByTagName("title");if(0===t.length)return null;let n=null;for(let r=t.length-1;r>=0;r--){const o=t[r],s=o.previousSibling;s instanceof Comment&&null!==$(s)||(null===n&&(n=o.textContent),null===(e=o.parentNode)||void 0===e||e.removeChild(o))}return n}},ke={init:function(e,t){t._blazorInputFileNextFileId=0,t.addEventListener("click",(function(){t.value=""})),t.addEventListener("change",(function(){t._blazorFilesById={};const n=Array.prototype.map.call(t.files,(function(e){const n={id:++t._blazorInputFileNextFileId,lastModified:new Date(e.lastModified).toISOString(),name:e.name,size:e.size,contentType:e.type,readPromise:void 0,arrayBuffer:void 0,blob:e};return t._blazorFilesById[n.id]=n,n}));e.invokeMethodAsync("NotifyChange",n)}))},toImageFile:async function(e,t,n,r,o){const s=De(e,t),a=await new Promise((function(e){const t=new Image;t.onload=function(){URL.revokeObjectURL(t.src),e(t)},t.onerror=function(){t.onerror=null,URL.revokeObjectURL(t.src)},t.src=URL.createObjectURL(s.blob)})),i=await new Promise((function(e){var t;const s=Math.min(1,r/a.width),i=Math.min(1,o/a.height),c=Math.min(s,i),l=document.createElement("canvas");l.width=Math.round(a.width*c),l.height=Math.round(a.height*c),null===(t=l.getContext("2d"))||void 0===t||t.drawImage(a,0,0,l.width,l.height),l.toBlob(e,n)})),c={id:++e._blazorInputFileNextFileId,lastModified:s.lastModified,name:s.name,size:(null==i?void 0:i.size)||0,contentType:n,blob:i||s.blob};return e._blazorFilesById[c.id]=c,c},readFileData:async function(e,t){return De(e,t).blob}};function De(e,t){const n=e._blazorFilesById[t];if(!n)throw new Error(`There is no file with ID ${t}. The file list may have changed.`);return n}const Be=new Map,Fe={navigateTo:be,registerCustomEventType:function(e,t){if(!t)throw new Error("The options parameter is required.");if(o.has(e))throw new Error(`The event '${e}' is already registered.`);if(t.browserEventName){const n=s.get(t.browserEventName);n?n.push(e):s.set(t.browserEventName,[e]),a.forEach((n=>n(e,t.browserEventName)))}o.set(e,t)},rootComponents:g,_internal:{navigationManager:ge,domWrapper:Ce,Virtualize:Ae,PageTitle:Oe,InputFile:ke,getJSDataStreamChunk:async function(e,t,n){return e instanceof Blob?await async function(e,t,n){const r=e.slice(t,t+n),o=await r.arrayBuffer();return new Uint8Array(o)}(e,t,n):function(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n)}(e,t,n)},receiveDotNetDataStream:function(t,n,r,o){let s=Be.get(t);if(!s){const n=new ReadableStream({start(e){Be.set(t,e),s=e}});e.jsCallDispatcher.supplyDotNetStream(t,n)}o?(s.error(o),Be.delete(t)):0===r?(s.close(),Be.delete(t)):s.enqueue(n.length===r?n:n.subarray(0,r))},attachWebRendererInterop:function(t,n,r,o){if(E.has(t))throw new Error(`Interop methods are already registered for renderer ${t}`);E.set(t,n),Object.keys(r).length>0&&function(t,n,r){if(h)throw new Error("Dynamic root components have already been enabled.");h=t,p=n;for(const[t,o]of Object.entries(r)){const r=e.jsCallDispatcher.findJSFunction(t,0);for(const e of o)r(e,n[e])}}(C(t),r,o),_()}}};let Te;function Me(e){return Te=e,Te}window.Blazor=Fe;const je=window.chrome&&navigator.userAgent.indexOf("Edge")<0;let Le=!1,Pe=!1;function xe(){return(Le||Pe)&&je}let He=!1;async function $e(){let e=document.querySelector("#blazor-error-ui");e&&(e.style.display="block"),He||(He=!0,document.querySelectorAll("#blazor-error-ui .reload").forEach((e=>{e.onclick=function(e){location.reload(),e.preventDefault()}})),document.querySelectorAll("#blazor-error-ui .dismiss").forEach((e=>{e.onclick=function(e){const t=document.querySelector("#blazor-error-ui");t&&(t.style.display="none"),e.preventDefault()}})))}class Je{constructor(e,t){this.bootConfig=e,this.applicationEnvironment=t}static async initAsync(e,t){const n=void 0!==e?e("manifest","blazor.boot.json","_framework/blazor.boot.json",""):a("_framework/blazor.boot.json"),r=n instanceof Promise?await n:await a(null!=n?n:"_framework/blazor.boot.json"),o=t||r.headers.get("Blazor-Environment")||"Production",s=await r.json();return s.modifiableAssemblies=r.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES"),s.aspnetCoreBrowserTools=r.headers.get("ASPNETCORE-BROWSER-TOOLS"),new Je(s,o);async function a(e){return fetch(e,{method:"GET",credentials:"include",cache:"no-cache"})}}}var Ue;let ze;!function(e){e[e.Sharded=0]="Sharded",e[e.All=1]="All",e[e.Invariant=2]="Invariant"}(Ue||(Ue={}));const Ge=Math.pow(2,32),We=Math.pow(2,21)-1;let Ke=null;function Ve(e){return Module.HEAP32[e>>2]}const Xe={start:function(t){return new Promise(((n,r)=>{(function(e){Le=!!e.bootConfig.resources.pdb,Pe=e.bootConfig.debugBuild;const t=navigator.platform.match(/^Mac/i)?"Cmd":"Alt";xe()&&console.info(`Debugging hotkey: Shift+${t}+D (when application has focus)`),document.addEventListener("keydown",(e=>{e.shiftKey&&(e.metaKey||e.altKey)&&"KeyD"===e.code&&(Pe||Le?je?function(){const e=document.createElement("a");e.href=`_framework/debug?url=${encodeURIComponent(location.href)}`,e.target="_blank",e.rel="noopener noreferrer",e.click()}():console.error("Currently, only Microsoft Edge (80+), or Google Chrome, are supported for debugging."):console.error("Cannot start debugging, because the application was not compiled with debugging enabled."))}))})(t),window.Browser={init:()=>{}},function(o){const s=document.createElement("script");window.__wasmmodulecallback__=()=>{window.Module=function(t,n,r){const o=t.bootConfig.resources,s=window.Module||{},a=["DEBUGGING ENABLED"];s.print=e=>a.indexOf(e)<0&&console.log(e),s.printErr=e=>{console.error(e),$e()},s.preRun=s.preRun||[],s.postRun=s.postRun||[],s.preloadPlugins=[];const i="dotnet.wasm",c=t.loadResources(o.assembly,(e=>`_framework/${e}`),"assembly"),l=t.loadResources(o.pdb||{},(e=>`_framework/${e}`),"pdb"),u=t.loadResource(i,"_framework/dotnet.wasm",t.bootConfig.resources.runtime["dotnet.wasm"],"dotnetwasm"),d="dotnet.timezones.blat";let f,m;if(t.bootConfig.resources.runtime.hasOwnProperty(d)&&(f=t.loadResource(d,"_framework/dotnet.timezones.blat",t.bootConfig.resources.runtime["dotnet.timezones.blat"],"globalization")),t.bootConfig.icuDataMode!=Ue.Invariant){const e=t.startOptions.applicationCulture||navigator.languages&&navigator.languages[0],n=function(e,t){if(!t||e.icuDataMode===Ue.All)return"icudt.dat";const n=t.split("-")[0];return["en","fr","it","de","es"].includes(n)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(n)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t.bootConfig,e);m=t.loadResource(n,`_framework/${n}`,t.bootConfig.resources.runtime[n],"globalization")}return s.instantiateWasm=(e,t)=>((async()=>{let n;try{const t=await u;n=await async function(e,t){if("function"==typeof WebAssembly.instantiateStreaming)try{return(await WebAssembly.instantiateStreaming(e.response,t)).instance}catch(e){console.info("Streaming compilation failed. Falling back to ArrayBuffer instantiation. ",e)}const n=await e.response.then((e=>e.arrayBuffer()));return(await WebAssembly.instantiate(n,t)).instance}(t,e)}catch(e){throw s.printErr(e.toString()),e}t(n)})(),[]),s.onRuntimeInitialized=()=>{m||MONO.mono_wasm_setenv("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT","1")},s.preRun.push((()=>{ze=cwrap("mono_wasm_add_assembly",null,["string","number","number"]),MONO.loaded_files=[],f&&async function(e){const t="blazor:timezonedata";addRunDependency(t);const n=await e.response,r=await n.arrayBuffer();Module.FS_createPath("/","usr",!0,!0),Module.FS_createPath("/usr/","share",!0,!0),Module.FS_createPath("/usr/share/","zoneinfo",!0,!0),MONO.mono_wasm_load_data_archive(new Uint8Array(r),"/usr/share/zoneinfo/"),removeRunDependency(t)}(f),m&&async function(e){const t="blazor:icudata";addRunDependency(t);const n=await e.response,r=new Uint8Array(await n.arrayBuffer()),o=MONO.mono_wasm_load_bytes_into_heap(r);if(!MONO.mono_wasm_load_icu_data(o))throw new Error("Error loading ICU asset.");removeRunDependency(t)}(m),c.forEach((e=>h(e,et(e.name,".dll")))),l.forEach((e=>h(e,e.name))),Fe._internal.dotNetCriticalError=e=>{s.printErr(BINDING.conv_string(e)||"(null)")},Fe._internal.getSatelliteAssemblies=e=>{const n=BINDING.mono_array_to_js_array(e),r=t.bootConfig.resources.satelliteResources;if(t.startOptions.applicationCulture||navigator.languages&&navigator.languages[0],r){const e=Promise.all(n.filter((e=>r.hasOwnProperty(e))).map((e=>t.loadResources(r[e],(e=>`_framework/${e}`),"assembly"))).reduce(((e,t)=>e.concat(t)),new Array).map((async e=>(await e.response).arrayBuffer())));return BINDING.js_to_mono_obj(e.then((e=>(e.length&&(Fe._internal.readSatelliteAssemblies=()=>{const t=BINDING.mono_obj_array_new(e.length);for(var n=0;n{const r=BINDING.mono_array_to_js_array(n),o=t.bootConfig.resources.lazyAssembly;if(!o)throw new Error("No assemblies have been marked as lazy-loadable. Use the 'BlazorWebAssemblyLazyLoad' item group in your project file to enable lazy loading an assembly.");var s=r.filter((e=>o.hasOwnProperty(e)));if(s.length!=r.length){var a=r.filter((e=>!s.includes(e)));throw new Error(`${a.join()} must be marked with 'BlazorWebAssemblyLazyLoad' item group in your project file to allow lazy-loading.`)}let i;if(xe()){const e=t.bootConfig.resources.pdb,n=s.map((e=>et(e,".pdb")));e&&(i=Promise.all(n.map((e=>o.hasOwnProperty(e)?t.loadResource(e,`_framework/${e}`,o[e],"pdb"):null)).map((async e=>e?(await e.response).arrayBuffer():null))))}const c=Promise.all(s.map((e=>t.loadResource(e,`_framework/${e}`,o[e],"assembly"))).map((async e=>(await e.response).arrayBuffer())));return BINDING.js_to_mono_obj(Promise.all([c,i]).then((t=>(e.assemblies=t[0],e.pdbs=t[1],e.assemblies.length&&(Fe._internal.readLazyAssemblies=()=>{const{assemblies:t}=e;if(!t)return BINDING.mono_obj_array_new(0);const n=BINDING.mono_obj_array_new(t.length);for(let e=0;e{const{assemblies:t,pdbs:n}=e;if(!t)return BINDING.mono_obj_array_new(0);const r=BINDING.mono_obj_array_new(t.length);for(let e=0;e{t.bootConfig.debugBuild&&t.bootConfig.cacheBootResources&&t.logToConsole(),t.purgeUnusedCacheEntriesAsync(),t.bootConfig.icuDataMode===Ue.Sharded&&(MONO.mono_wasm_setenv("__BLAZOR_SHARDED_ICU","1"),t.startOptions.applicationCulture&&MONO.mono_wasm_setenv("LANG",`${t.startOptions.applicationCulture}.UTF-8`));let r="UTC";try{r=Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}MONO.mono_wasm_setenv("TZ",r||"UTC"),t.bootConfig.modifiableAssemblies&&MONO.mono_wasm_setenv("DOTNET_MODIFIABLE_ASSEMBLIES",t.bootConfig.modifiableAssemblies),t.bootConfig.aspnetCoreBrowserTools&&MONO.mono_wasm_setenv("__ASPNETCORE_BROWSER_TOOLS",t.bootConfig.aspnetCoreBrowserTools),cwrap("mono_wasm_load_runtime",null,["string","number"])("appBinDir",xe()?-1:0),MONO.mono_wasm_runtime_ready(),function(){const t=Ze("Microsoft.AspNetCore.Components.WebAssembly","Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime","InvokeDotNet"),n=Ze("Microsoft.AspNetCore.Components.WebAssembly","Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime","BeginInvokeDotNet"),r=Ze("Microsoft.AspNetCore.Components.WebAssembly","Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime","EndInvokeJS"),o=Ze("Microsoft.AspNetCore.Components.WebAssembly","Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime","NotifyByteArrayAvailable");e.attachDispatcher({beginInvokeDotNetFromJS:(e,t,r,o,s)=>{if(tt(),!o&&!t)throw new Error("Either assemblyName or dotNetObjectId must have a non null value.");const a=o?o.toString():t;n(e?e.toString():null,a,r,s)},endInvokeJSFromDotNet:(e,t,n)=>{r(n)},sendByteArray:(e,t)=>{Qe=t,o(e)},invokeDotNetFromJS:(e,n,r,o)=>(tt(),t(e||null,n,r?r.toString():null,o))})}(),n()})),s;async function h(e,t){const n=`blazor:${e.name}`;addRunDependency(n);try{const n=await e.response.then((e=>e.arrayBuffer())),r=new Uint8Array(n),s=Module._malloc(r.length);new Uint8Array(Module.HEAPU8.buffer,s,r.length).set(r),ze(t,s,r.length),MONO.loaded_files.push((o=e.url,Ye.href=o,Ye.href))}catch(e){return void r(e)}var o;removeRunDependency(n)}}(t,n,r),function(e){if("undefined"==typeof WebAssembly||!WebAssembly.validate)throw new Error("This browser does not support WebAssembly.");const t=Object.keys(e.bootConfig.resources.runtime).filter((e=>e.startsWith("dotnet.")&&e.endsWith(".js")))[0],n=e.bootConfig.resources.runtime[t],r=document.createElement("script");if(r.src=`_framework/${t}`,r.defer=!0,e.bootConfig.cacheBootResources&&(r.integrity=n,r.crossOrigin="anonymous"),e.startOptions.loadBootResource){const o="dotnetjs",s=e.startOptions.loadBootResource(o,t,r.src,n);if("string"==typeof s)r.src=s;else if(s)throw new Error(`For a ${o} resource, custom loaders must supply a URI string.`)}document.body.appendChild(r)}(t)},s.text="var Module; window.__wasmmodulecallback__(); delete window.__wasmmodulecallback__;",document.body.appendChild(s)}()}))},callEntryPoint:async function(e){const t=[[]];try{await BINDING.call_assembly_entry_point(e,t,"m")}catch(e){console.error(e),$e()}},toUint8Array:function(e){const t=qe(e),n=Ve(t),r=new Uint8Array(n);return r.set(Module.HEAPU8.subarray(t+4,t+4+n)),r},getArrayLength:function(e){return Ve(qe(e))},getArrayEntryPtr:function(e,t,n){return qe(e)+4+t*n},getObjectFieldsBaseAddress:function(e){return e+8},readInt16Field:function(e,t){return n=e+(t||0),Module.HEAP16[n>>1];var n},readInt32Field:function(e,t){return Ve(e+(t||0))},readUint64Field:function(e,t){return function(e){const t=e>>2,n=Module.HEAPU32[t+1];if(n>We)throw new Error(`Cannot read uint64 with high order part ${n}, because the result would exceed Number.MAX_SAFE_INTEGER.`);return n*Ge+Module.HEAPU32[t]}(e+(t||0))},readFloatField:function(e,t){return n=e+(t||0),Module.HEAPF32[n>>2];var n},readObjectField:function(e,t){return Ve(e+(t||0))},readStringField:function(e,t,n){const r=Ve(e+(t||0));if(0===r)return null;if(n){const e=BINDING.unbox_mono_obj(r);return"boolean"==typeof e?e?"":null:e}let o;return Ke?(o=Ke.stringCache.get(r),void 0===o&&(o=BINDING.conv_string(r),Ke.stringCache.set(r,o))):o=BINDING.conv_string(r),o},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return tt(),Ke=new nt,Ke},invokeWhenHeapUnlocked:function(e){Ke?Ke.enqueuePostReleaseAction(e):e()}},Ye=document.createElement("a");function qe(e){return e+12}function Ze(e,t,n){const r=`[${e}] ${t}:${n}`;return BINDING.bind_static_method(r)}let Qe=null;function et(e,t){const n=e.lastIndexOf(".");if(n<0)throw new Error(`No extension to replace in '${e}'`);return e.substr(0,n)+t}function tt(){if(Ke)throw new Error("Assertion failed - heap is currently locked")}class nt{constructor(){this.stringCache=new Map}enqueuePostReleaseAction(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)}release(){var e;if(Ke!==this)throw new Error("Trying to release a lock which isn't current");for(Ke=null;null===(e=this.postReleaseActions)||void 0===e?void 0:e.length;)this.postReleaseActions.shift()(),tt()}}class rt{constructor(e){this.batchAddress=e,this.arrayRangeReader=ot,this.arrayBuilderSegmentReader=st,this.diffReader=at,this.editReader=it,this.frameReader=ct}updatedComponents(){return Te.readStructField(this.batchAddress,0)}referenceFrames(){return Te.readStructField(this.batchAddress,ot.structLength)}disposedComponentIds(){return Te.readStructField(this.batchAddress,2*ot.structLength)}disposedEventHandlerIds(){return Te.readStructField(this.batchAddress,3*ot.structLength)}updatedComponentsEntry(e,t){return lt(e,t,at.structLength)}referenceFramesEntry(e,t){return lt(e,t,ct.structLength)}disposedComponentIdsEntry(e,t){const n=lt(e,t,4);return Te.readInt32Field(n)}disposedEventHandlerIdsEntry(e,t){const n=lt(e,t,8);return Te.readUint64Field(n)}}const ot={structLength:8,values:e=>Te.readObjectField(e,0),count:e=>Te.readInt32Field(e,4)},st={structLength:12,values:e=>{const t=Te.readObjectField(e,0),n=Te.getObjectFieldsBaseAddress(t);return Te.readObjectField(n,0)},offset:e=>Te.readInt32Field(e,4),count:e=>Te.readInt32Field(e,8)},at={structLength:4+st.structLength,componentId:e=>Te.readInt32Field(e,0),edits:e=>Te.readStructField(e,4),editsEntry:(e,t)=>lt(e,t,it.structLength)},it={structLength:20,editType:e=>Te.readInt32Field(e,0),siblingIndex:e=>Te.readInt32Field(e,4),newTreeIndex:e=>Te.readInt32Field(e,8),moveToSiblingIndex:e=>Te.readInt32Field(e,8),removedAttributeName:e=>Te.readStringField(e,16)},ct={structLength:36,frameType:e=>Te.readInt16Field(e,4),subtreeLength:e=>Te.readInt32Field(e,8),elementReferenceCaptureId:e=>Te.readStringField(e,16),componentId:e=>Te.readInt32Field(e,12),elementName:e=>Te.readStringField(e,16),textContent:e=>Te.readStringField(e,16),markupContent:e=>Te.readStringField(e,16),attributeName:e=>Te.readStringField(e,16),attributeValue:e=>Te.readStringField(e,24,!0),attributeEventHandlerId:e=>Te.readUint64Field(e,8)};function lt(e,t,n){return Te.getArrayEntryPtr(e,t,n)}class ut{constructor(e,t,n){this.bootConfig=e,this.cacheIfUsed=t,this.startOptions=n,this.usedCacheKeys={},this.networkLoads={},this.cacheLoads={}}static async initAsync(e,t){const n=await async function(e){if(!e.cacheBootResources||"undefined"==typeof caches)return null;if(!1===window.isSecureContext)return null;const t=`blazor-resources-${document.baseURI.substring(document.location.origin.length)}`;try{return await caches.open(t)||null}catch{return null}}(e);return new ut(e,n,t)}loadResources(e,t,n){return Object.keys(e).map((r=>this.loadResource(r,t(r),e[r],n)))}loadResource(e,t,n,r){return{name:e,url:t,response:this.cacheIfUsed?this.loadResourceWithCaching(this.cacheIfUsed,e,t,n,r):this.loadResourceWithoutCaching(e,t,n,r)}}logToConsole(){const e=Object.values(this.cacheLoads),t=Object.values(this.networkLoads),n=dt(e),r=dt(t),o=n+r;if(0===o)return;const s=this.bootConfig.linkerEnabled?"%c":"\n%cThis application was built with linking (tree shaking) disabled. Published applications will be significantly smaller.";console.groupCollapsed(`%cblazor%c Loaded ${ft(o)} resources${s}`,"background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"),e.length&&(console.groupCollapsed(`Loaded ${ft(n)} resources from cache`),console.table(this.cacheLoads),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${ft(r)} resources from network`),console.table(this.networkLoads),console.groupEnd()),console.groupEnd()}async purgeUnusedCacheEntriesAsync(){const e=this.cacheIfUsed;if(e){const t=(await e.keys()).map((async t=>{t.url in this.usedCacheKeys||await e.delete(t)}));await Promise.all(t)}}async loadResourceWithCaching(e,t,n,r,o){if(!r||0===r.length)throw new Error("Content hash is required");const s=_e(`${n}.${r}`);let a;this.usedCacheKeys[s]=!0;try{a=await e.match(s)}catch{}if(a){const e=parseInt(a.headers.get("content-length")||"0");return this.cacheLoads[t]={responseBytes:e},a}{const a=await this.loadResourceWithoutCaching(t,n,r,o);return this.addToCacheAsync(e,t,s,a),a}}loadResourceWithoutCaching(e,t,n,r){if(this.startOptions.loadBootResource){const o=this.startOptions.loadBootResource(r,e,t,n);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}return fetch(t,{cache:"no-cache",integrity:this.bootConfig.cacheBootResources?n:void 0})}async addToCacheAsync(e,t,n,r){const o=await r.clone().arrayBuffer(),s=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(r.url),a=s&&s.encodedBodySize||void 0;this.networkLoads[t]={responseBytes:a};const i=new Response(o,{headers:{"content-type":r.headers.get("content-type")||"","content-length":(a||r.headers.get("content-length")||"").toString()}});try{await e.put(n,i)}catch{}}}function dt(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function ft(e){return`${(e/1048576).toFixed(2)} MB`}class mt{static async initAsync(e){Fe._internal.getApplicationEnvironment=()=>BINDING.js_string_to_mono_string(e.applicationEnvironment);const t=await Promise.all((e.bootConfig.config||[]).filter((t=>"appsettings.json"===t||t===`appsettings.${e.applicationEnvironment}.json`)).map((async e=>({name:e,content:await n(e)}))));async function n(e){const t=await fetch(e,{method:"GET",credentials:"include",cache:"no-cache"});return new Uint8Array(await t.arrayBuffer())}Fe._internal.getConfig=e=>{const n=BINDING.conv_string(e),r=t.find((e=>e.name===n));return r?BINDING.js_typed_array_to_array(r.content):void 0}}}class ht{constructor(e){this.preregisteredComponents=e;const t={};for(let n=0;no.push(e))),e[M]=r,t&&(e[j]=t,L(t)),L(e)}(this.componentsById[t].start,this.componentsById[t].end)}getParameterValues(e){return this.componentsById[e].parameterValues}getParameterDefinitions(e){return this.componentsById[e].parameterDefinitions}getTypeName(e){return this.componentsById[e].typeName}getAssembly(e){return this.componentsById[e].assembly}getId(e){return this.preregisteredComponents[e].id}getCount(){return this.preregisteredComponents.length}}const pt=/^\s*Blazor-Component-State:(?[a-zA-Z0-9\+\/=]+)$/;function yt(e){var t;if(e.nodeType===Node.COMMENT_NODE){const n=e.textContent||"",r=pt.exec(n),o=r&&r.groups&&r.groups.state;return o&&(null===(t=e.parentNode)||void 0===t||t.removeChild(e)),o}if(!e.hasChildNodes())return;const n=e.childNodes;for(let e=0;e.*)$/);function wt(e,t){const n=e.currentElement;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){const r=bt.exec(n.textContent),o=r&&r.groups&&r.groups.descriptor;if(!o)return;try{const r=function(e){const t=JSON.parse(e),{type:n}=t;if("server"!==n&&"webassembly"!==n)throw new Error(`Invalid component type '${n}'.`);return t}(o);switch(t){case"webassembly":return function(e,t,n){const{type:r,assembly:o,typeName:s,parameterDefinitions:a,parameterValues:i,prerenderId:c}=e;if("webassembly"===r){if(!o)throw new Error("assembly must be defined when using a descriptor.");if(!s)throw new Error("typeName must be defined when using a descriptor.");if(c){const e=vt(c,n);if(!e)throw new Error(`Could not find an end component comment for '${t}'`);return{type:r,assembly:o,typeName:s,parameterDefinitions:a&&atob(a),parameterValues:i&&atob(i),start:t,prerenderId:c,end:e}}return{type:r,assembly:o,typeName:s,parameterDefinitions:a&&atob(a),parameterValues:i&&atob(i),start:t}}}(r,n,e);case"server":return function(e,t,n){const{type:r,descriptor:o,sequence:s,prerenderId:a}=e;if("server"===r){if(!o)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===s)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(s))throw new Error(`Error parsing the sequence '${s}' for component '${JSON.stringify(e)}'`);if(a){const e=vt(a,n);if(!e)throw new Error(`Could not find an end component comment for '${t}'`);return{type:r,sequence:s,descriptor:o,start:t,prerenderId:a,end:e}}return{type:r,sequence:s,descriptor:o,start:t}}}(r,n,e)}}catch(e){throw new Error(`Found malformed component comment at ${n.textContent}`)}}}function vt(e,t){for(;t.next()&&t.currentElement;){const n=t.currentElement;if(n.nodeType!==Node.COMMENT_NODE)continue;if(!n.textContent)continue;const r=bt.exec(n.textContent),o=r&&r[1];if(o)return Et(o,e),n}}function Et(e,t){const n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error(`Invalid end of component comment: '${e}'`);const r=n.prerenderId;if(!r)throw new Error(`End of component comment must have a value for the prerendered property: '${e}'`);if(r!==t)throw new Error(`End of component comment prerendered property must match the start comment prerender id: '${t}', '${r}'`)}class _t{constructor(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}next(){return this.currentIndex++,this.currentIndexasync function(e,n){const r=function(e){const t=document.baseURI;return t.endsWith("/")?`${t}${e}`:`${t}/${e}`}(n),o=await import(r);if(void 0===o)return;const{beforeStart:s,afterStarted:a}=o;return a&&e.afterStartedCallbacks.push(a),s?s(...t):void 0}(this,e))))}async invokeAfterStartedCallbacks(e){await I,await Promise.all(this.afterStartedCallbacks.map((t=>t(e))))}}let Ct=!1;async function At(t){if(Ct)throw new Error("Blazor has already started.");Ct=!0,function(){if(window.parent!==window&&!window.opener&&window.frameElement){const e=window.sessionStorage&&window.sessionStorage["Microsoft.AspNetCore.Components.WebAssembly.Authentication.CachedAuthSettings"],t=e&&JSON.parse(e);return t&&t.redirect_uri&&location.href.startsWith(t.redirect_uri)}return!1}()&&await new Promise((()=>{})),A=(e,t,n)=>{(function(e){return de[e]})(e).eventDelegator.getHandler(t)&&Xe.invokeWhenHeapUnlocked(n)},Fe._internal.applyHotReload=(t,n,r,o)=>{e.invokeMethod("Microsoft.AspNetCore.Components.WebAssembly","ApplyHotReloadDelta",t,n,r,o)},Fe._internal.getApplyUpdateCapabilities=()=>e.invokeMethod("Microsoft.AspNetCore.Components.WebAssembly","GetApplyUpdateCapabilities"),Fe._internal.invokeJSFromDotNet=St,Fe._internal.endInvokeDotNetFromJS=Rt,Fe._internal.receiveByteArray=Ot,Fe._internal.retrieveByteArray=kt;const n=Me(Xe);Fe.platform=n,Fe._internal.renderBatch=(e,t)=>{const n=Xe.beginHeapLock();try{!function(e,t){const n=de[e];if(!n)throw new Error(`There is no browser renderer with ID ${e}.`);const r=t.arrayRangeReader,o=t.updatedComponents(),s=r.values(o),a=r.count(o),i=t.referenceFrames(),c=r.values(i),l=t.diffReader;for(let e=0;eBINDING.js_string_to_mono_string(r()),Fe._internal.navigationManager.getUnmarshalledLocationHref=()=>BINDING.js_string_to_mono_string(o()),Fe._internal.navigationManager.listenForNavigationEvents((async(t,n)=>{await e.invokeMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",t,n)}));const s=null!=t?t:{},a=s.environment,i=Je.initAsync(s.loadBootResource,a),c=function(e,t){return function(e){const t=gt(e,"webassembly"),n=[];for(let e=0;ee.id-t.id))}(e)}(document),l=new ht(c);Fe._internal.registeredComponents={getRegisteredComponentsCount:()=>l.getCount(),getId:e=>l.getId(e),getAssembly:e=>BINDING.js_string_to_mono_string(l.getAssembly(e)),getTypeName:e=>BINDING.js_string_to_mono_string(l.getTypeName(e)),getParameterDefinitions:e=>BINDING.js_string_to_mono_string(l.getParameterDefinitions(e)||""),getParameterValues:e=>BINDING.js_string_to_mono_string(l.getParameterValues(e)||"")},Fe._internal.getPersistedState=()=>BINDING.js_string_to_mono_string(yt(document)||""),Fe._internal.attachRootComponentToElement=(e,t,n)=>{const r=l.resolveRegisteredElement(e);r?me(n,r,t,!1):function(e,t,n){const r="::after";let o=!1;if(e.endsWith(r))e=e.slice(0,-r.length),o=!0;else if(e.endsWith("::before"))throw new Error("The '::before' selector is not supported.");const s=function(e){const t=m.get(e);if(t)return m.delete(e),t}(e)||document.querySelector(e);if(!s)throw new Error(`Could not find any element matching selector '${e}'.`);me(n||0,L(s,!0),t,o)}(e,t,n)};const u=await i,d=await async function(e,t){const n=e.resources.libraryInitializers,r=new Nt;return n&&await r.importInitializersAsync(Object.keys(n),[t,e.resources.extensions]),r}(u.bootConfig,s),[f]=await Promise.all([ut.initAsync(u.bootConfig,s||{}),mt.initAsync(u)]);try{await n.start(f)}catch(e){throw new Error(`Failed to start platform. Reason: ${e}`)}n.callEntryPoint(f.bootConfig.entryAssembly),d.invokeAfterStartedCallbacks(Fe)}function St(t,n,r,o){const s=Xe.readStringField(t,0),a=Xe.readInt32Field(t,4),i=Xe.readStringField(t,8),c=Xe.readUint64Field(t,20);if(null!==i){const n=Xe.readUint64Field(t,12);if(0!==n)return e.jsCallDispatcher.beginInvokeJSFromDotNet(n,s,i,a,c),0;{const t=e.jsCallDispatcher.invokeJSFromDotNet(s,i,a,c);return null===t?0:BINDING.js_string_to_mono_string(t)}}{const t=e.jsCallDispatcher.findJSFunction(s,c).call(null,n,r,o);switch(a){case e.JSCallResultType.Default:return t;case e.JSCallResultType.JSObjectReference:return e.createJSObjectReference(t).__jsObjectId;case e.JSCallResultType.JSStreamReference:const n=e.createJSStreamReference(t),r=JSON.stringify(n);return BINDING.js_string_to_mono_string(r);case e.JSCallResultType.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${a}'.`)}}}function Rt(t,n,r){const o=BINDING.conv_string(t),s=0!==n,a=BINDING.conv_string(r);e.jsCallDispatcher.endInvokeDotNetFromJS(o,s,a)}function Ot(t,n){const r=t,o=Xe.toUint8Array(n);e.jsCallDispatcher.receiveByteArray(r,o)}function kt(){if(null===Qe)throw new Error("Byte array not available for transfer");return BINDING.js_typed_array_to_array(Qe)}Fe.start=At,document&&document.currentScript&&"false"!==document.currentScript.getAttribute("autostart")&&At().catch((e=>{"undefined"!=typeof Module&&Module.printErr?Module.printErr(e):console.error(e)}))})();
\ No newline at end of file
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js.gz
new file mode 100644
index 00000000..41ac5bf0
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js
new file mode 100644
index 00000000..137042ed
--- /dev/null
+++ b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js
@@ -0,0 +1,10692 @@
+
+
+// The Module object: Our interface to the outside world. We import
+// and export values on it. There are various ways Module can be used:
+// 1. Not defined. We create it here
+// 2. A function parameter, function(Module) { ..generated code.. }
+// 3. pre-run appended it, var Module = {}; ..generated code..
+// 4. External script tag defines var Module.
+// We need to check if Module already exists (e.g. case 3 above).
+// Substitution will be replaced with actual code on later stage of the build,
+// this way Closure Compiler will not mangle it (e.g. case 4. above).
+// Note that if you want to run closure, and also to use Module
+// after the generated code, you will need to define var Module = {};
+// before the code. Then that object will be used in the code, and you
+// can continue to use Module afterwards as well.
+var Module = typeof Module !== 'undefined' ? Module : {};
+
+// --pre-jses are emitted after the Module integration code, so that they can
+// refer to Module (if they choose; they can also define Module)
+// {{PRE_JSES}}
+
+// Sometimes an existing Module object exists with properties
+// meant to overwrite the default module functionality. Here
+// we collect those properties and reapply _after_ we configure
+// the current environment's defaults to avoid having to be so
+// defensive during initialization.
+var moduleOverrides = {};
+var key;
+for (key in Module) {
+ if (Module.hasOwnProperty(key)) {
+ moduleOverrides[key] = Module[key];
+ }
+}
+
+var arguments_ = [];
+var thisProgram = './this.program';
+var quit_ = function(status, toThrow) {
+ throw toThrow;
+};
+
+// Determine the runtime environment we are in. You can customize this by
+// setting the ENVIRONMENT setting at compile time (see settings.js).
+
+var ENVIRONMENT_IS_WEB = false;
+var ENVIRONMENT_IS_WORKER = false;
+var ENVIRONMENT_IS_NODE = false;
+var ENVIRONMENT_IS_SHELL = false;
+ENVIRONMENT_IS_WEB = typeof window === 'object';
+ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
+// N.b. Electron.js environment is simultaneously a NODE-environment, but
+// also a web environment.
+ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string';
+ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
+
+// `/` should be present at the end if `scriptDirectory` is not empty
+var scriptDirectory = '';
+function locateFile(path) {
+ if (Module['locateFile']) {
+ return Module['locateFile'](path, scriptDirectory);
+ }
+ return scriptDirectory + path;
+}
+
+// Hooks that are implemented differently in different runtime environments.
+var read_,
+ readAsync,
+ readBinary,
+ setWindowTitle;
+
+var nodeFS;
+var nodePath;
+
+if (ENVIRONMENT_IS_NODE) {
+ if (ENVIRONMENT_IS_WORKER) {
+ scriptDirectory = require('path').dirname(scriptDirectory) + '/';
+ } else {
+ scriptDirectory = __dirname + '/';
+ }
+
+// include: node_shell_read.js
+
+
+read_ = function shell_read(filename, binary) {
+ if (!nodeFS) nodeFS = require('fs');
+ if (!nodePath) nodePath = require('path');
+ filename = nodePath['normalize'](filename);
+ return nodeFS['readFileSync'](filename, binary ? null : 'utf8');
+};
+
+readBinary = function readBinary(filename) {
+ var ret = read_(filename, true);
+ if (!ret.buffer) {
+ ret = new Uint8Array(ret);
+ }
+ assert(ret.buffer);
+ return ret;
+};
+
+// end include: node_shell_read.js
+ if (process['argv'].length > 1) {
+ thisProgram = process['argv'][1].replace(/\\/g, '/');
+ }
+
+ arguments_ = process['argv'].slice(2);
+
+ if (typeof module !== 'undefined') {
+ module['exports'] = Module;
+ }
+
+ process['on']('uncaughtException', function(ex) {
+ // suppress ExitStatus exceptions from showing an error
+ if (!(ex instanceof ExitStatus)) {
+ throw ex;
+ }
+ });
+
+ process['on']('unhandledRejection', abort);
+
+ quit_ = function(status) {
+ process['exit'](status);
+ };
+
+ Module['inspect'] = function () { return '[Emscripten Module object]'; };
+
+} else
+if (ENVIRONMENT_IS_SHELL) {
+
+ if (typeof read != 'undefined') {
+ read_ = function shell_read(f) {
+ return read(f);
+ };
+ }
+
+ readBinary = function readBinary(f) {
+ var data;
+ if (typeof readbuffer === 'function') {
+ return new Uint8Array(readbuffer(f));
+ }
+ data = read(f, 'binary');
+ assert(typeof data === 'object');
+ return data;
+ };
+
+ if (typeof scriptArgs != 'undefined') {
+ arguments_ = scriptArgs;
+ } else if (typeof arguments != 'undefined') {
+ arguments_ = arguments;
+ }
+
+ if (typeof quit === 'function') {
+ quit_ = function(status) {
+ quit(status);
+ };
+ }
+
+ if (typeof print !== 'undefined') {
+ // Prefer to use print/printErr where they exist, as they usually work better.
+ if (typeof console === 'undefined') console = /** @type{!Console} */({});
+ console.log = /** @type{!function(this:Console, ...*): undefined} */ (print);
+ console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print);
+ }
+
+} else
+
+// Note that this includes Node.js workers when relevant (pthreads is enabled).
+// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
+// ENVIRONMENT_IS_NODE.
+if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+ if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled
+ scriptDirectory = self.location.href;
+ } else if (typeof document !== 'undefined' && document.currentScript) { // web
+ scriptDirectory = document.currentScript.src;
+ }
+ // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
+ // otherwise, slice off the final part of the url to find the script directory.
+ // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
+ // and scriptDirectory will correctly be replaced with an empty string.
+ if (scriptDirectory.indexOf('blob:') !== 0) {
+ scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1);
+ } else {
+ scriptDirectory = '';
+ }
+
+ // Differentiate the Web Worker from the Node Worker case, as reading must
+ // be done differently.
+ {
+
+// include: web_or_worker_shell_read.js
+
+
+ read_ = function(url) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ xhr.send(null);
+ return xhr.responseText;
+ };
+
+ if (ENVIRONMENT_IS_WORKER) {
+ readBinary = function(url) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ xhr.responseType = 'arraybuffer';
+ xhr.send(null);
+ return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response));
+ };
+ }
+
+ readAsync = function(url, onload, onerror) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, true);
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function() {
+ if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
+ onload(xhr.response);
+ return;
+ }
+ onerror();
+ };
+ xhr.onerror = onerror;
+ xhr.send(null);
+ };
+
+// end include: web_or_worker_shell_read.js
+ }
+
+ setWindowTitle = function(title) { document.title = title };
+} else
+{
+}
+
+// Set up the out() and err() hooks, which are how we can print to stdout or
+// stderr, respectively.
+var out = Module['print'] || console.log.bind(console);
+var err = Module['printErr'] || console.warn.bind(console);
+
+// Merge back in the overrides
+for (key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+ Module[key] = moduleOverrides[key];
+ }
+}
+// Free the object hierarchy contained in the overrides, this lets the GC
+// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
+moduleOverrides = null;
+
+// Emit code to handle expected values on the Module object. This applies Module.x
+// to the proper local x. This has two benefits: first, we only emit it if it is
+// expected to arrive, and second, by using a local everywhere else that can be
+// minified.
+
+if (Module['arguments']) arguments_ = Module['arguments'];
+
+if (Module['thisProgram']) thisProgram = Module['thisProgram'];
+
+if (Module['quit']) quit_ = Module['quit'];
+
+// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
+
+
+
+
+var STACK_ALIGN = 16;
+
+function alignMemory(size, factor) {
+ if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default
+ return Math.ceil(size / factor) * factor;
+}
+
+function getNativeTypeSize(type) {
+ switch (type) {
+ case 'i1': case 'i8': return 1;
+ case 'i16': return 2;
+ case 'i32': return 4;
+ case 'i64': return 8;
+ case 'float': return 4;
+ case 'double': return 8;
+ default: {
+ if (type[type.length-1] === '*') {
+ return 4; // A pointer
+ } else if (type[0] === 'i') {
+ var bits = Number(type.substr(1));
+ assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type);
+ return bits / 8;
+ } else {
+ return 0;
+ }
+ }
+ }
+}
+
+function warnOnce(text) {
+ if (!warnOnce.shown) warnOnce.shown = {};
+ if (!warnOnce.shown[text]) {
+ warnOnce.shown[text] = 1;
+ err(text);
+ }
+}
+
+// include: runtime_functions.js
+
+
+// Wraps a JS function as a wasm function with a given signature.
+function convertJsFunctionToWasm(func, sig) {
+
+ // If the type reflection proposal is available, use the new
+ // "WebAssembly.Function" constructor.
+ // Otherwise, construct a minimal wasm module importing the JS function and
+ // re-exporting it.
+ if (typeof WebAssembly.Function === "function") {
+ var typeNames = {
+ 'i': 'i32',
+ 'j': 'i64',
+ 'f': 'f32',
+ 'd': 'f64'
+ };
+ var type = {
+ parameters: [],
+ results: sig[0] == 'v' ? [] : [typeNames[sig[0]]]
+ };
+ for (var i = 1; i < sig.length; ++i) {
+ type.parameters.push(typeNames[sig[i]]);
+ }
+ return new WebAssembly.Function(type, func);
+ }
+
+ // The module is static, with the exception of the type section, which is
+ // generated based on the signature passed in.
+ var typeSection = [
+ 0x01, // id: section,
+ 0x00, // length: 0 (placeholder)
+ 0x01, // count: 1
+ 0x60, // form: func
+ ];
+ var sigRet = sig.slice(0, 1);
+ var sigParam = sig.slice(1);
+ var typeCodes = {
+ 'i': 0x7f, // i32
+ 'j': 0x7e, // i64
+ 'f': 0x7d, // f32
+ 'd': 0x7c, // f64
+ };
+
+ // Parameters, length + signatures
+ typeSection.push(sigParam.length);
+ for (var i = 0; i < sigParam.length; ++i) {
+ typeSection.push(typeCodes[sigParam[i]]);
+ }
+
+ // Return values, length + signatures
+ // With no multi-return in MVP, either 0 (void) or 1 (anything else)
+ if (sigRet == 'v') {
+ typeSection.push(0x00);
+ } else {
+ typeSection = typeSection.concat([0x01, typeCodes[sigRet]]);
+ }
+
+ // Write the overall length of the type section back into the section header
+ // (excepting the 2 bytes for the section id and length)
+ typeSection[1] = typeSection.length - 2;
+
+ // Rest of the module is static
+ var bytes = new Uint8Array([
+ 0x00, 0x61, 0x73, 0x6d, // magic ("\0asm")
+ 0x01, 0x00, 0x00, 0x00, // version: 1
+ ].concat(typeSection, [
+ 0x02, 0x07, // import section
+ // (import "e" "f" (func 0 (type 0)))
+ 0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00,
+ 0x07, 0x05, // export section
+ // (export "f" (func 0 (type 0)))
+ 0x01, 0x01, 0x66, 0x00, 0x00,
+ ]));
+
+ // We can compile this wasm module synchronously because it is very small.
+ // This accepts an import (at "e.f"), that it reroutes to an export (at "f")
+ var module = new WebAssembly.Module(bytes);
+ var instance = new WebAssembly.Instance(module, {
+ 'e': {
+ 'f': func
+ }
+ });
+ var wrappedFunc = instance.exports['f'];
+ return wrappedFunc;
+}
+
+var freeTableIndexes = [];
+
+// Weak map of functions in the table to their indexes, created on first use.
+var functionsInTableMap;
+
+function getEmptyTableSlot() {
+ // Reuse a free index if there is one, otherwise grow.
+ if (freeTableIndexes.length) {
+ return freeTableIndexes.pop();
+ }
+ // Grow the table
+ try {
+ wasmTable.grow(1);
+ } catch (err) {
+ if (!(err instanceof RangeError)) {
+ throw err;
+ }
+ throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.';
+ }
+ return wasmTable.length - 1;
+}
+
+// Add a wasm function to the table.
+function addFunctionWasm(func, sig) {
+ // Check if the function is already in the table, to ensure each function
+ // gets a unique index. First, create the map if this is the first use.
+ if (!functionsInTableMap) {
+ functionsInTableMap = new WeakMap();
+ for (var i = 0; i < wasmTable.length; i++) {
+ var item = wasmTable.get(i);
+ // Ignore null values.
+ if (item) {
+ functionsInTableMap.set(item, i);
+ }
+ }
+ }
+ if (functionsInTableMap.has(func)) {
+ return functionsInTableMap.get(func);
+ }
+
+ // It's not in the table, add it now.
+
+ var ret = getEmptyTableSlot();
+
+ // Set the new value.
+ try {
+ // Attempting to call this with JS function will cause of table.set() to fail
+ wasmTable.set(ret, func);
+ } catch (err) {
+ if (!(err instanceof TypeError)) {
+ throw err;
+ }
+ var wrapped = convertJsFunctionToWasm(func, sig);
+ wasmTable.set(ret, wrapped);
+ }
+
+ functionsInTableMap.set(func, ret);
+
+ return ret;
+}
+
+function removeFunction(index) {
+ functionsInTableMap.delete(wasmTable.get(index));
+ freeTableIndexes.push(index);
+}
+
+// 'sig' parameter is required for the llvm backend but only when func is not
+// already a WebAssembly function.
+function addFunction(func, sig) {
+
+ return addFunctionWasm(func, sig);
+}
+
+// end include: runtime_functions.js
+// include: runtime_debug.js
+
+
+// end include: runtime_debug.js
+var tempRet0 = 0;
+
+var setTempRet0 = function(value) {
+ tempRet0 = value;
+};
+
+var getTempRet0 = function() {
+ return tempRet0;
+};
+
+
+
+// === Preamble library stuff ===
+
+// Documentation for the public APIs defined in this file must be updated in:
+// site/source/docs/api_reference/preamble.js.rst
+// A prebuilt local version of the documentation is available at:
+// site/build/text/docs/api_reference/preamble.js.txt
+// You can also build docs locally as HTML or other formats in site/
+// An online HTML version (which may be of a different version of Emscripten)
+// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
+
+var wasmBinary;
+if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];
+var noExitRuntime = Module['noExitRuntime'] || true;
+
+if (typeof WebAssembly !== 'object') {
+ abort('no native wasm support detected');
+}
+
+// include: runtime_safe_heap.js
+
+
+// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking.
+// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties)
+
+/** @param {number} ptr
+ @param {number} value
+ @param {string} type
+ @param {number|boolean=} noSafe */
+function setValue(ptr, value, type, noSafe) {
+ type = type || 'i8';
+ if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
+ switch (type) {
+ case 'i1': HEAP8[((ptr)>>0)] = value; break;
+ case 'i8': HEAP8[((ptr)>>0)] = value; break;
+ case 'i16': HEAP16[((ptr)>>1)] = value; break;
+ case 'i32': HEAP32[((ptr)>>2)] = value; break;
+ case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break;
+ case 'float': HEAPF32[((ptr)>>2)] = value; break;
+ case 'double': HEAPF64[((ptr)>>3)] = value; break;
+ default: abort('invalid type for setValue: ' + type);
+ }
+}
+
+/** @param {number} ptr
+ @param {string} type
+ @param {number|boolean=} noSafe */
+function getValue(ptr, type, noSafe) {
+ type = type || 'i8';
+ if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
+ switch (type) {
+ case 'i1': return HEAP8[((ptr)>>0)];
+ case 'i8': return HEAP8[((ptr)>>0)];
+ case 'i16': return HEAP16[((ptr)>>1)];
+ case 'i32': return HEAP32[((ptr)>>2)];
+ case 'i64': return HEAP32[((ptr)>>2)];
+ case 'float': return HEAPF32[((ptr)>>2)];
+ case 'double': return HEAPF64[((ptr)>>3)];
+ default: abort('invalid type for getValue: ' + type);
+ }
+ return null;
+}
+
+// end include: runtime_safe_heap.js
+// Wasm globals
+
+var wasmMemory;
+
+//========================================
+// Runtime essentials
+//========================================
+
+// whether we are quitting the application. no code should run after this.
+// set in exit() and abort()
+var ABORT = false;
+
+// set by exit() and abort(). Passed to 'onExit' handler.
+// NOTE: This is also used as the process return code code in shell environments
+// but only when noExitRuntime is false.
+var EXITSTATUS;
+
+/** @type {function(*, string=)} */
+function assert(condition, text) {
+ if (!condition) {
+ abort('Assertion failed: ' + text);
+ }
+}
+
+// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
+function getCFunc(ident) {
+ var func = Module['_' + ident]; // closure exported function
+ assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported');
+ return func;
+}
+
+// C calling interface.
+/** @param {string|null=} returnType
+ @param {Array=} argTypes
+ @param {Arguments|Array=} args
+ @param {Object=} opts */
+function ccall(ident, returnType, argTypes, args, opts) {
+ // For fast lookup of conversion functions
+ var toC = {
+ 'string': function(str) {
+ var ret = 0;
+ if (str !== null && str !== undefined && str !== 0) { // null string
+ // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
+ var len = (str.length << 2) + 1;
+ ret = stackAlloc(len);
+ stringToUTF8(str, ret, len);
+ }
+ return ret;
+ },
+ 'array': function(arr) {
+ var ret = stackAlloc(arr.length);
+ writeArrayToMemory(arr, ret);
+ return ret;
+ }
+ };
+
+ function convertReturnValue(ret) {
+ if (returnType === 'string') return UTF8ToString(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 < args.length; i++) {
+ var converter = toC[argTypes[i]];
+ if (converter) {
+ if (stack === 0) stack = stackSave();
+ cArgs[i] = converter(args[i]);
+ } else {
+ cArgs[i] = args[i];
+ }
+ }
+ }
+ var ret = func.apply(null, cArgs);
+
+ ret = convertReturnValue(ret);
+ if (stack !== 0) stackRestore(stack);
+ return ret;
+}
+
+/** @param {string=} returnType
+ @param {Array=} argTypes
+ @param {Object=} opts */
+function cwrap(ident, returnType, argTypes, opts) {
+ argTypes = argTypes || [];
+ // When the function takes numbers and returns a number, we can just return
+ // the original function
+ var numericArgs = argTypes.every(function(type){ return type === 'number'});
+ var numericRet = returnType !== 'string';
+ if (numericRet && numericArgs && !opts) {
+ return getCFunc(ident);
+ }
+ return function() {
+ return ccall(ident, returnType, argTypes, arguments, opts);
+ }
+}
+
+var ALLOC_NORMAL = 0; // Tries to use _malloc()
+var ALLOC_STACK = 1; // Lives for the duration of the current function call
+
+// allocate(): This is for internal use. You can use it yourself as well, but the interface
+// is a little tricky (see docs right below). The reason is that it is optimized
+// for multiple syntaxes to save space in generated code. So you should
+// normally not use allocate(), and instead allocate memory using _malloc(),
+// initialize it with setValue(), and so forth.
+// @slab: An array of data.
+// @allocator: How to allocate memory, see ALLOC_*
+/** @type {function((Uint8Array|Array), number)} */
+function allocate(slab, allocator) {
+ var ret;
+
+ if (allocator == ALLOC_STACK) {
+ ret = stackAlloc(slab.length);
+ } else {
+ ret = _malloc(slab.length);
+ }
+
+ if (slab.subarray || slab.slice) {
+ HEAPU8.set(/** @type {!Uint8Array} */(slab), ret);
+ } else {
+ HEAPU8.set(new Uint8Array(slab), ret);
+ }
+ return ret;
+}
+
+// include: runtime_strings.js
+
+
+// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime.
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
+// a copy of that string as a Javascript String object.
+
+var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
+
+/**
+ * @param {number} idx
+ * @param {number=} maxBytesToRead
+ * @return {string}
+ */
+function UTF8ArrayToString(heap, idx, maxBytesToRead) {
+ var endIdx = idx + maxBytesToRead;
+ var endPtr = idx;
+ // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
+ // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
+ // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity)
+ while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr;
+
+ if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
+ return UTF8Decoder.decode(heap.subarray(idx, endPtr));
+ } else {
+ var str = '';
+ // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that
+ while (idx < endPtr) {
+ // For UTF8 byte structure, see:
+ // http://en.wikipedia.org/wiki/UTF-8#Description
+ // https://www.ietf.org/rfc/rfc2279.txt
+ // https://tools.ietf.org/html/rfc3629
+ var u0 = heap[idx++];
+ if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
+ var u1 = heap[idx++] & 63;
+ if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
+ var u2 = heap[idx++] & 63;
+ if ((u0 & 0xF0) == 0xE0) {
+ u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
+ } else {
+ u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63);
+ }
+
+ if (u0 < 0x10000) {
+ str += String.fromCharCode(u0);
+ } else {
+ var ch = u0 - 0x10000;
+ str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
+ }
+ }
+ }
+ return str;
+}
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a
+// copy of that string as a Javascript String object.
+// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit
+// this parameter to scan the string until the first \0 byte. If maxBytesToRead is
+// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the
+// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will
+// not produce a string of exact length [ptr, ptr+maxBytesToRead[)
+// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may
+// throw JS JIT optimizations off, so it is worth to consider consistently using one
+// style or the other.
+/**
+ * @param {number} ptr
+ * @param {number=} maxBytesToRead
+ * @return {string}
+ */
+function UTF8ToString(ptr, maxBytesToRead) {
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
+}
+
+// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
+// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
+// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element.
+// outIdx: The starting offset in the array to begin the copying.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array.
+// This count should include the null terminator,
+// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
+// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
+ return 0;
+
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
+ var u = str.charCodeAt(i); // possibly a lead surrogate
+ if (u >= 0xD800 && u <= 0xDFFF) {
+ var u1 = str.charCodeAt(++i);
+ u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
+ }
+ if (u <= 0x7F) {
+ if (outIdx >= endIdx) break;
+ heap[outIdx++] = u;
+ } else if (u <= 0x7FF) {
+ if (outIdx + 1 >= endIdx) break;
+ heap[outIdx++] = 0xC0 | (u >> 6);
+ heap[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0xFFFF) {
+ if (outIdx + 2 >= endIdx) break;
+ heap[outIdx++] = 0xE0 | (u >> 12);
+ heap[outIdx++] = 0x80 | ((u >> 6) & 63);
+ heap[outIdx++] = 0x80 | (u & 63);
+ } else {
+ if (outIdx + 3 >= endIdx) break;
+ heap[outIdx++] = 0xF0 | (u >> 18);
+ heap[outIdx++] = 0x80 | ((u >> 12) & 63);
+ heap[outIdx++] = 0x80 | ((u >> 6) & 63);
+ heap[outIdx++] = 0x80 | (u & 63);
+ }
+ }
+ // Null-terminate the pointer to the buffer.
+ heap[outIdx] = 0;
+ return outIdx - startIdx;
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
+// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
+}
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var u = str.charCodeAt(i); // possibly a lead surrogate
+ if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
+ if (u <= 0x7F) ++len;
+ else if (u <= 0x7FF) len += 2;
+ else if (u <= 0xFFFF) len += 3;
+ else len += 4;
+ }
+ return len;
+}
+
+// end include: runtime_strings.js
+// include: runtime_strings_extra.js
+
+
+// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime.
+
+// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function AsciiToString(ptr) {
+ var str = '';
+ while (1) {
+ var ch = HEAPU8[((ptr++)>>0)];
+ if (!ch) return str;
+ str += String.fromCharCode(ch);
+ }
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
+
+function stringToAscii(str, outPtr) {
+ return writeAsciiToMemory(str, outPtr, false);
+}
+
+// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
+
+function UTF16ToString(ptr, maxBytesToRead) {
+ var endPtr = ptr;
+ // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
+ // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
+ var idx = endPtr >> 1;
+ var maxIdx = idx + maxBytesToRead / 2;
+ // If maxBytesToRead is not passed explicitly, it will be undefined, and this
+ // will always evaluate to true. This saves on code size.
+ while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx;
+ endPtr = idx << 1;
+
+ if (endPtr - ptr > 32 && UTF16Decoder) {
+ return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
+ } else {
+ var str = '';
+
+ // If maxBytesToRead is not passed explicitly, it will be undefined, and the for-loop's condition
+ // will always evaluate to true. The loop is then terminated on the first null char.
+ for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {
+ var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
+ if (codeUnit == 0) break;
+ // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
+ str += String.fromCharCode(codeUnit);
+ }
+
+ return str;
+ }
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
+// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outPtr: Byte address in Emscripten HEAP where to write the string to.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
+// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF16(str, outPtr, maxBytesToWrite) {
+ // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
+ if (maxBytesToWrite === undefined) {
+ maxBytesToWrite = 0x7FFFFFFF;
+ }
+ if (maxBytesToWrite < 2) return 0;
+ maxBytesToWrite -= 2; // Null terminator.
+ var startPtr = outPtr;
+ var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
+ for (var i = 0; i < numCharsToWrite; ++i) {
+ // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
+ var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
+ HEAP16[((outPtr)>>1)] = codeUnit;
+ outPtr += 2;
+ }
+ // Null-terminate the pointer to the HEAP.
+ HEAP16[((outPtr)>>1)] = 0;
+ return outPtr - startPtr;
+}
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF16(str) {
+ return str.length*2;
+}
+
+function UTF32ToString(ptr, maxBytesToRead) {
+ var i = 0;
+
+ var str = '';
+ // If maxBytesToRead is not passed explicitly, it will be undefined, and this
+ // will always evaluate to true. This saves on code size.
+ while (!(i >= maxBytesToRead / 4)) {
+ var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
+ if (utf32 == 0) break;
+ ++i;
+ // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ if (utf32 >= 0x10000) {
+ var ch = utf32 - 0x10000;
+ str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
+ } else {
+ str += String.fromCharCode(utf32);
+ }
+ }
+ return str;
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
+// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outPtr: Byte address in Emscripten HEAP where to write the string to.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
+// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF32(str, outPtr, maxBytesToWrite) {
+ // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
+ if (maxBytesToWrite === undefined) {
+ maxBytesToWrite = 0x7FFFFFFF;
+ }
+ if (maxBytesToWrite < 4) return 0;
+ var startPtr = outPtr;
+ var endPtr = startPtr + maxBytesToWrite - 4;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
+ if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
+ var trailSurrogate = str.charCodeAt(++i);
+ codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
+ }
+ HEAP32[((outPtr)>>2)] = codeUnit;
+ outPtr += 4;
+ if (outPtr + 4 > endPtr) break;
+ }
+ // Null-terminate the pointer to the HEAP.
+ HEAP32[((outPtr)>>2)] = 0;
+ return outPtr - startPtr;
+}
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF32(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var codeUnit = str.charCodeAt(i);
+ if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
+ len += 4;
+ }
+
+ return len;
+}
+
+// Allocate heap space for a JS string, and write it there.
+// It is the responsibility of the caller to free() that memory.
+function allocateUTF8(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = _malloc(size);
+ if (ret) stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+// Allocate stack space for a JS string, and write it there.
+function allocateUTF8OnStack(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = stackAlloc(size);
+ stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+// Deprecated: This function should not be called because it is unsafe and does not provide
+// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
+// function stringToUTF8Array() instead, which takes in a maximum length that can be used
+// to be secure from out of bounds writes.
+/** @deprecated
+ @param {boolean=} dontAddNull */
+function writeStringToMemory(string, buffer, dontAddNull) {
+ warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
+
+ var /** @type {number} */ lastChar, /** @type {number} */ end;
+ if (dontAddNull) {
+ // stringToUTF8Array always appends null. If we don't want to do that, remember the
+ // character that existed at the location where the null will be placed, and restore
+ // that after the write (below).
+ end = buffer + lengthBytesUTF8(string);
+ lastChar = HEAP8[end];
+ }
+ stringToUTF8(string, buffer, Infinity);
+ if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
+}
+
+function writeArrayToMemory(array, buffer) {
+ HEAP8.set(array, buffer);
+}
+
+/** @param {boolean=} dontAddNull */
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+ for (var i = 0; i < str.length; ++i) {
+ HEAP8[((buffer++)>>0)] = str.charCodeAt(i);
+ }
+ // Null-terminate the pointer to the HEAP.
+ if (!dontAddNull) HEAP8[((buffer)>>0)] = 0;
+}
+
+// end include: runtime_strings_extra.js
+// Memory management
+
+function alignUp(x, multiple) {
+ if (x % multiple > 0) {
+ x += multiple - (x % multiple);
+ }
+ return x;
+}
+
+var HEAP,
+/** @type {ArrayBuffer} */
+ buffer,
+/** @type {Int8Array} */
+ HEAP8,
+/** @type {Uint8Array} */
+ HEAPU8,
+/** @type {Int16Array} */
+ HEAP16,
+/** @type {Uint16Array} */
+ HEAPU16,
+/** @type {Int32Array} */
+ HEAP32,
+/** @type {Uint32Array} */
+ HEAPU32,
+/** @type {Float32Array} */
+ HEAPF32,
+/** @type {Float64Array} */
+ HEAPF64;
+
+function updateGlobalBufferAndViews(buf) {
+ buffer = buf;
+ Module['HEAP8'] = HEAP8 = new Int8Array(buf);
+ Module['HEAP16'] = HEAP16 = new Int16Array(buf);
+ Module['HEAP32'] = HEAP32 = new Int32Array(buf);
+ Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf);
+ Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf);
+ Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf);
+ Module['HEAPF32'] = HEAPF32 = new Float32Array(buf);
+ Module['HEAPF64'] = HEAPF64 = new Float64Array(buf);
+}
+
+var TOTAL_STACK = 5242880;
+
+var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 536870912;
+
+// include: runtime_init_table.js
+// In regular non-RELOCATABLE mode the table is exported
+// from the wasm module and this will be assigned once
+// the exports are available.
+var wasmTable;
+
+// end include: runtime_init_table.js
+// include: runtime_stack_check.js
+
+
+// end include: runtime_stack_check.js
+// include: runtime_assertions.js
+
+
+// end include: runtime_assertions.js
+var __ATPRERUN__ = []; // functions called before the runtime is initialized
+var __ATINIT__ = []; // functions called during startup
+var __ATMAIN__ = []; // functions called when main() is to be run
+var __ATEXIT__ = []; // functions called during shutdown
+var __ATPOSTRUN__ = []; // functions called after the main() is called
+
+var runtimeInitialized = false;
+var runtimeExited = false;
+
+function preRun() {
+
+ if (Module['preRun']) {
+ if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
+ while (Module['preRun'].length) {
+ addOnPreRun(Module['preRun'].shift());
+ }
+ }
+
+ callRuntimeCallbacks(__ATPRERUN__);
+}
+
+function initRuntime() {
+ runtimeInitialized = true;
+
+ if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
+TTY.init();
+SOCKFS.root = FS.mount(SOCKFS, {}, null);
+ callRuntimeCallbacks(__ATINIT__);
+}
+
+function exitRuntime() {
+ runtimeExited = true;
+}
+
+function postRun() {
+
+ if (Module['postRun']) {
+ if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
+ while (Module['postRun'].length) {
+ addOnPostRun(Module['postRun'].shift());
+ }
+ }
+
+ callRuntimeCallbacks(__ATPOSTRUN__);
+}
+
+function addOnPreRun(cb) {
+ __ATPRERUN__.unshift(cb);
+}
+
+function addOnInit(cb) {
+ __ATINIT__.unshift(cb);
+}
+
+function addOnPreMain(cb) {
+ __ATMAIN__.unshift(cb);
+}
+
+function addOnExit(cb) {
+}
+
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+
+// include: runtime_math.js
+
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
+
+// end include: runtime_math.js
+// A counter of dependencies for calling run(). If we need to
+// do asynchronous work before running, increment this and
+// decrement it. Incrementing must happen in a place like
+// Module.preRun (used by emcc to add file preloading).
+// Note that you can add dependencies in preRun, even though
+// it happens right before run - run will be postponed until
+// the dependencies are met.
+var runDependencies = 0;
+var runDependencyWatcher = null;
+var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
+
+function getUniqueRunDependency(id) {
+ return id;
+}
+
+function addRunDependency(id) {
+ runDependencies++;
+
+ if (Module['monitorRunDependencies']) {
+ Module['monitorRunDependencies'](runDependencies);
+ }
+
+}
+
+function removeRunDependency(id) {
+ runDependencies--;
+
+ if (Module['monitorRunDependencies']) {
+ Module['monitorRunDependencies'](runDependencies);
+ }
+
+ if (runDependencies == 0) {
+ if (runDependencyWatcher !== null) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ }
+ if (dependenciesFulfilled) {
+ var callback = dependenciesFulfilled;
+ dependenciesFulfilled = null;
+ callback(); // can add another dependenciesFulfilled
+ }
+ }
+}
+
+Module["preloadedImages"] = {}; // maps url to image data
+Module["preloadedAudios"] = {}; // maps url to audio data
+
+/** @param {string|number=} what */
+function abort(what) {
+ if (Module['onAbort']) {
+ Module['onAbort'](what);
+ }
+
+ what += '';
+ err(what);
+
+ ABORT = true;
+ EXITSTATUS = 1;
+
+ what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.';
+
+ // Use a wasm runtime error, because a JS error might be seen as a foreign
+ // exception, which means we'd run destructors on it. We need the error to
+ // simply make the program stop.
+ var e = new WebAssembly.RuntimeError(what);
+
+ // Throw the error whether or not MODULARIZE is set because abort is used
+ // in code paths apart from instantiation where an exception is expected
+ // to be thrown when abort is called.
+ throw e;
+}
+
+// {{MEM_INITIALIZER}}
+
+// include: memoryprofiler.js
+
+
+// end include: memoryprofiler.js
+// include: URIUtils.js
+
+
+// Prefix of data URIs emitted by SINGLE_FILE and related options.
+var dataURIPrefix = 'data:application/octet-stream;base64,';
+
+// Indicates whether filename is a base64 data URI.
+function isDataURI(filename) {
+ // Prefix of data URIs emitted by SINGLE_FILE and related options.
+ return filename.startsWith(dataURIPrefix);
+}
+
+// Indicates whether filename is delivered via file protocol (as opposed to http/https)
+function isFileURI(filename) {
+ return filename.startsWith('file://');
+}
+
+// end include: URIUtils.js
+ var wasmBinaryFile = 'dotnet.wasm';
+ if (!isDataURI(wasmBinaryFile)) {
+ wasmBinaryFile = locateFile(wasmBinaryFile);
+ }
+
+function getBinary(file) {
+ try {
+ if (file == wasmBinaryFile && wasmBinary) {
+ return new Uint8Array(wasmBinary);
+ }
+ if (readBinary) {
+ return readBinary(file);
+ } else {
+ throw "both async and sync fetching of the wasm failed";
+ }
+ }
+ catch (err) {
+ abort(err);
+ }
+}
+
+function getBinaryPromise() {
+ // If we don't have the binary yet, try to to load it asynchronously.
+ // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url.
+ // See https://github.com/github/fetch/pull/92#issuecomment-140665932
+ // Cordova or Electron apps are typically loaded from a file:// url.
+ // So use fetch if it is available and the url is not a file, otherwise fall back to XHR.
+ if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
+ if (typeof fetch === 'function'
+ && !isFileURI(wasmBinaryFile)
+ ) {
+ return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) {
+ if (!response['ok']) {
+ throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
+ }
+ return response['arrayBuffer']();
+ }).catch(function () {
+ return getBinary(wasmBinaryFile);
+ });
+ }
+ else {
+ if (readAsync) {
+ // fetch is not available or url is file => try XHR (readAsync uses XHR internally)
+ return new Promise(function(resolve, reject) {
+ readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject)
+ });
+ }
+ }
+ }
+
+ // Otherwise, getBinary should be able to get it synchronously
+ return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); });
+}
+
+// Create the wasm instance.
+// Receives the wasm imports, returns the exports.
+function createWasm() {
+ // prepare imports
+ var info = {
+ 'env': asmLibraryArg,
+ 'wasi_snapshot_preview1': asmLibraryArg,
+ };
+ // Load the wasm module and create an instance of using native support in the JS engine.
+ // handle a generated wasm instance, receiving its exports and
+ // performing other necessary setup
+ /** @param {WebAssembly.Module=} module*/
+ function receiveInstance(instance, module) {
+ var exports = instance.exports;
+
+ Module['asm'] = exports;
+
+ wasmMemory = Module['asm']['memory'];
+ updateGlobalBufferAndViews(wasmMemory.buffer);
+
+ wasmTable = Module['asm']['__indirect_function_table'];
+
+ addOnInit(Module['asm']['__wasm_call_ctors']);
+
+ removeRunDependency('wasm-instantiate');
+ }
+ // we can't run yet (except in a pthread, where we have a custom sync instantiator)
+ addRunDependency('wasm-instantiate');
+
+ // Prefer streaming instantiation if available.
+ function receiveInstantiationResult(result) {
+ // 'result' is a ResultObject object which has both the module and instance.
+ // receiveInstance() will swap in the exports (to Module.asm) so they can be called
+ // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
+ // When the regression is fixed, can restore the above USE_PTHREADS-enabled path.
+ receiveInstance(result['instance']);
+ }
+
+ function instantiateArrayBuffer(receiver) {
+ return getBinaryPromise().then(function(binary) {
+ var result = WebAssembly.instantiate(binary, info);
+ return result;
+ }).then(receiver, function(reason) {
+ err('failed to asynchronously prepare wasm: ' + reason);
+
+ abort(reason);
+ });
+ }
+
+ function instantiateAsync() {
+ if (!wasmBinary &&
+ typeof WebAssembly.instantiateStreaming === 'function' &&
+ !isDataURI(wasmBinaryFile) &&
+ // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously.
+ !isFileURI(wasmBinaryFile) &&
+ typeof fetch === 'function') {
+ return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) {
+ var result = WebAssembly.instantiateStreaming(response, info);
+ return result.then(receiveInstantiationResult, function(reason) {
+ // We expect the most common failure cause to be a bad MIME type for the binary,
+ // in which case falling back to ArrayBuffer instantiation should work.
+ err('wasm streaming compile failed: ' + reason);
+ err('falling back to ArrayBuffer instantiation');
+ return instantiateArrayBuffer(receiveInstantiationResult);
+ });
+ });
+ } else {
+ return instantiateArrayBuffer(receiveInstantiationResult);
+ }
+ }
+
+ // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
+ // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel
+ // to any other async startup actions they are performing.
+ if (Module['instantiateWasm']) {
+ try {
+ var exports = Module['instantiateWasm'](info, receiveInstance);
+ return exports;
+ } catch(e) {
+ err('Module.instantiateWasm callback failed with error: ' + e);
+ return false;
+ }
+ }
+
+ instantiateAsync();
+ return {}; // no exports yet; we'll fill them in later
+}
+
+// Globals used by JS i64 conversions (see makeSetValue)
+var tempDouble;
+var tempI64;
+
+// === Body ===
+
+var ASM_CONSTS = {
+ 652180: function($0, $1) {var level = $0; var message = Module.UTF8ToString ($1); var namespace = "Debugger.Debug"; if (MONO["logging"] && MONO.logging["debugger"]) { MONO.logging.debugger (level, message); return; } console.debug("%s: %s", namespace, message);},
+ 652420: function($0, $1, $2, $3) {MONO.mono_wasm_add_dbg_command_received ($0, $1, $2, $3);},
+ 652482: function($0, $1, $2, $3) {MONO.mono_wasm_add_dbg_command_received ($0, $1, $2, $3);},
+ 652544: function($0, $1, $2, $3) {MONO.mono_wasm_add_dbg_command_received ($0, $1, $2, $3);},
+ 652606: function($0, $1, $2, $3) {MONO.mono_wasm_add_dbg_command_received ($0, $1, $2, $3);},
+ 652668: function($0, $1) {MONO.mono_wasm_add_dbg_command_received (1, 0, $0, $1);},
+ 652728: function($0, $1) {MONO.string_decoder.decode($0, $0 + $1, true);},
+ 652779: function($0, $1, $2) {var js_str = MONO.string_decoder.copy ($0); try { var res = eval (js_str); setValue ($2, 0, "i32"); if (res === null || res === undefined) return 0; else res = res.toString (); } catch (e) { res = e.toString(); setValue ($2, 1, "i32"); if (res === null || res === undefined) res = "unknown exception"; var stack = e.stack; if (stack) { if (stack.startsWith(res)) res = stack; else res += "\n" + stack; } } var buff = Module._malloc((res.length + 1) * 2); stringToUTF16 (res, buff, (res.length + 1) * 2); setValue ($1, res.length, "i32"); return buff;},
+ 653334: function($0, $1, $2, $3, $4) {var log_level = $0; var message = Module.UTF8ToString ($1); var isFatal = $2; var domain = Module.UTF8ToString ($3); var dataPtr = $4; if (MONO["logging"] && MONO.logging["trace"]) { MONO.logging.trace(domain, log_level, message, isFatal, dataPtr); return; } if (isFatal) console.trace (message); switch (Module.UTF8ToString ($0)) { case "critical": case "error": console.error (message); break; case "warning": console.warn (message); break; case "message": console.log (message); break; case "info": console.info (message); break; case "debug": console.debug (message); break; default: console.log (message); break; }}
+};
+function compile_function(snippet_ptr,len,is_exception){ try { var data = MONO.string_decoder.decode (snippet_ptr, snippet_ptr + len); var wrapper = '(function () { ' + data + ' })'; var funcFactory = eval(wrapper); var func = funcFactory(); if (typeof func !== 'function') { throw new Error('Code must return an instance of a JavaScript function. ' + 'Please use `return` statement to return a function.'); } setValue (is_exception, 0, "i32"); return BINDING.js_to_mono_obj (func, true); } catch (e) { res = e.toString (); setValue (is_exception, 1, "i32"); if (res === null || res === undefined) res = "unknown exception"; return BINDING.js_to_mono_obj (res, true); } }
+
+
+
+
+
+ function callRuntimeCallbacks(callbacks) {
+ while (callbacks.length > 0) {
+ var callback = callbacks.shift();
+ if (typeof callback == 'function') {
+ callback(Module); // Pass the module as the first argument.
+ continue;
+ }
+ var func = callback.func;
+ if (typeof func === 'number') {
+ if (callback.arg === undefined) {
+ wasmTable.get(func)();
+ } else {
+ wasmTable.get(func)(callback.arg);
+ }
+ } else {
+ func(callback.arg === undefined ? null : callback.arg);
+ }
+ }
+ }
+
+ function demangle(func) {
+ return func;
+ }
+
+ function demangleAll(text) {
+ var regex =
+ /\b_Z[\w\d_]+/g;
+ return text.replace(regex,
+ function(x) {
+ var y = demangle(x);
+ return x === y ? x : (y + ' [' + x + ']');
+ });
+ }
+
+ function jsStackTrace() {
+ var error = new Error();
+ if (!error.stack) {
+ // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
+ // so try that as a special-case.
+ try {
+ throw new Error();
+ } catch(e) {
+ error = e;
+ }
+ if (!error.stack) {
+ return '(no stack trace available)';
+ }
+ }
+ return error.stack.toString();
+ }
+
+ var runtimeKeepaliveCounter=0;
+ function keepRuntimeAlive() {
+ return noExitRuntime || runtimeKeepaliveCounter > 0;
+ }
+
+ function stackTrace() {
+ var js = jsStackTrace();
+ if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
+ return demangleAll(js);
+ }
+
+ function ___assert_fail(condition, filename, line, func) {
+ abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']);
+ }
+
+ var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) {
+ _emscripten_get_now = function() {
+ var t = process['hrtime']();
+ return t[0] * 1e3 + t[1] / 1e6;
+ };
+ } else if (typeof dateNow !== 'undefined') {
+ _emscripten_get_now = dateNow;
+ } else _emscripten_get_now = function() { return performance.now(); }
+ ;
+
+ var _emscripten_get_now_is_monotonic=true;;
+
+ function setErrNo(value) {
+ HEAP32[((___errno_location())>>2)] = value;
+ return value;
+ }
+ function _clock_gettime(clk_id, tp) {
+ // int clock_gettime(clockid_t clk_id, struct timespec *tp);
+ var now;
+ if (clk_id === 0) {
+ now = Date.now();
+ } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) {
+ now = _emscripten_get_now();
+ } else {
+ setErrNo(28);
+ return -1;
+ }
+ HEAP32[((tp)>>2)] = (now/1000)|0; // seconds
+ HEAP32[(((tp)+(4))>>2)] = ((now % 1000)*1000*1000)|0; // nanoseconds
+ return 0;
+ }
+ function ___clock_gettime(a0,a1
+ ) {
+ return _clock_gettime(a0,a1);
+ }
+
+ var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};
+ function ___cxa_allocate_exception(size) {
+ // Thrown object is prepended by exception metadata block
+ return _malloc(size + ExceptionInfoAttrs.SIZE) + ExceptionInfoAttrs.SIZE;
+ }
+
+ function ExceptionInfo(excPtr) {
+ this.excPtr = excPtr;
+ this.ptr = excPtr - ExceptionInfoAttrs.SIZE;
+
+ this.set_type = function(type) {
+ HEAP32[(((this.ptr)+(ExceptionInfoAttrs.TYPE_OFFSET))>>2)] = type;
+ };
+
+ this.get_type = function() {
+ return HEAP32[(((this.ptr)+(ExceptionInfoAttrs.TYPE_OFFSET))>>2)];
+ };
+
+ this.set_destructor = function(destructor) {
+ HEAP32[(((this.ptr)+(ExceptionInfoAttrs.DESTRUCTOR_OFFSET))>>2)] = destructor;
+ };
+
+ this.get_destructor = function() {
+ return HEAP32[(((this.ptr)+(ExceptionInfoAttrs.DESTRUCTOR_OFFSET))>>2)];
+ };
+
+ this.set_refcount = function(refcount) {
+ HEAP32[(((this.ptr)+(ExceptionInfoAttrs.REFCOUNT_OFFSET))>>2)] = refcount;
+ };
+
+ this.set_caught = function (caught) {
+ caught = caught ? 1 : 0;
+ HEAP8[(((this.ptr)+(ExceptionInfoAttrs.CAUGHT_OFFSET))>>0)] = caught;
+ };
+
+ this.get_caught = function () {
+ return HEAP8[(((this.ptr)+(ExceptionInfoAttrs.CAUGHT_OFFSET))>>0)] != 0;
+ };
+
+ this.set_rethrown = function (rethrown) {
+ rethrown = rethrown ? 1 : 0;
+ HEAP8[(((this.ptr)+(ExceptionInfoAttrs.RETHROWN_OFFSET))>>0)] = rethrown;
+ };
+
+ this.get_rethrown = function () {
+ return HEAP8[(((this.ptr)+(ExceptionInfoAttrs.RETHROWN_OFFSET))>>0)] != 0;
+ };
+
+ // Initialize native structure fields. Should be called once after allocated.
+ this.init = function(type, destructor) {
+ this.set_type(type);
+ this.set_destructor(destructor);
+ this.set_refcount(0);
+ this.set_caught(false);
+ this.set_rethrown(false);
+ }
+
+ this.add_ref = function() {
+ var value = HEAP32[(((this.ptr)+(ExceptionInfoAttrs.REFCOUNT_OFFSET))>>2)];
+ HEAP32[(((this.ptr)+(ExceptionInfoAttrs.REFCOUNT_OFFSET))>>2)] = value + 1;
+ };
+
+ // Returns true if last reference released.
+ this.release_ref = function() {
+ var prev = HEAP32[(((this.ptr)+(ExceptionInfoAttrs.REFCOUNT_OFFSET))>>2)];
+ HEAP32[(((this.ptr)+(ExceptionInfoAttrs.REFCOUNT_OFFSET))>>2)] = prev - 1;
+ return prev === 1;
+ };
+ }
+ function CatchInfo(ptr) {
+
+ this.free = function() {
+ _free(this.ptr);
+ this.ptr = 0;
+ };
+
+ this.set_base_ptr = function(basePtr) {
+ HEAP32[((this.ptr)>>2)] = basePtr;
+ };
+
+ this.get_base_ptr = function() {
+ return HEAP32[((this.ptr)>>2)];
+ };
+
+ this.set_adjusted_ptr = function(adjustedPtr) {
+ var ptrSize = 4;
+ HEAP32[(((this.ptr)+(ptrSize))>>2)] = adjustedPtr;
+ };
+
+ this.get_adjusted_ptr = function() {
+ var ptrSize = 4;
+ return HEAP32[(((this.ptr)+(ptrSize))>>2)];
+ };
+
+ // Get pointer which is expected to be received by catch clause in C++ code. It may be adjusted
+ // when the pointer is casted to some of the exception object base classes (e.g. when virtual
+ // inheritance is used). When a pointer is thrown this method should return the thrown pointer
+ // itself.
+ this.get_exception_ptr = function() {
+ // Work around a fastcomp bug, this code is still included for some reason in a build without
+ // exceptions support.
+ var isPointer = ___cxa_is_pointer_type(
+ this.get_exception_info().get_type());
+ if (isPointer) {
+ return HEAP32[((this.get_base_ptr())>>2)];
+ }
+ var adjusted = this.get_adjusted_ptr();
+ if (adjusted !== 0) return adjusted;
+ return this.get_base_ptr();
+ };
+
+ this.get_exception_info = function() {
+ return new ExceptionInfo(this.get_base_ptr());
+ };
+
+ if (ptr === undefined) {
+ this.ptr = _malloc(8);
+ this.set_adjusted_ptr(0);
+ } else {
+ this.ptr = ptr;
+ }
+ }
+
+ var exceptionCaught= [];
+
+ function exception_addRef(info) {
+ info.add_ref();
+ }
+
+ var uncaughtExceptionCount=0;
+ function ___cxa_begin_catch(ptr) {
+ var catchInfo = new CatchInfo(ptr);
+ var info = catchInfo.get_exception_info();
+ if (!info.get_caught()) {
+ info.set_caught(true);
+ uncaughtExceptionCount--;
+ }
+ info.set_rethrown(false);
+ exceptionCaught.push(catchInfo);
+ exception_addRef(info);
+ return catchInfo.get_exception_ptr();
+ }
+
+ var exceptionLast=0;
+
+ function ___cxa_free_exception(ptr) {
+ return _free(new ExceptionInfo(ptr).ptr);
+ }
+ function exception_decRef(info) {
+ // A rethrown exception can reach refcount 0; it must not be discarded
+ // Its next handler will clear the rethrown flag and addRef it, prior to
+ // final decRef and destruction here
+ if (info.release_ref() && !info.get_rethrown()) {
+ var destructor = info.get_destructor();
+ if (destructor) {
+ // In Wasm, destructors return 'this' as in ARM
+ wasmTable.get(destructor)(info.excPtr);
+ }
+ ___cxa_free_exception(info.excPtr);
+ }
+ }
+ function ___cxa_end_catch() {
+ // Clear state flag.
+ _setThrew(0);
+ // Call destructor if one is registered then clear it.
+ var catchInfo = exceptionCaught.pop();
+
+ exception_decRef(catchInfo.get_exception_info());
+ catchInfo.free();
+ exceptionLast = 0; // XXX in decRef?
+ }
+
+ function ___resumeException(catchInfoPtr) {
+ var catchInfo = new CatchInfo(catchInfoPtr);
+ var ptr = catchInfo.get_base_ptr();
+ if (!exceptionLast) { exceptionLast = ptr; }
+ catchInfo.free();
+ throw ptr;
+ }
+ function ___cxa_find_matching_catch_2() {
+ var thrown = exceptionLast;
+ if (!thrown) {
+ // just pass through the null ptr
+ setTempRet0(0); return ((0)|0);
+ }
+ var info = new ExceptionInfo(thrown);
+ var thrownType = info.get_type();
+ var catchInfo = new CatchInfo();
+ catchInfo.set_base_ptr(thrown);
+ if (!thrownType) {
+ // just pass through the thrown ptr
+ setTempRet0(0); return ((catchInfo.ptr)|0);
+ }
+ var typeArray = Array.prototype.slice.call(arguments);
+
+ // can_catch receives a **, add indirection
+ var stackTop = stackSave();
+ var exceptionThrowBuf = stackAlloc(4);
+ HEAP32[((exceptionThrowBuf)>>2)] = thrown;
+ // The different catch blocks are denoted by different types.
+ // Due to inheritance, those types may not precisely match the
+ // type of the thrown object. Find one which matches, and
+ // return the type of the catch block which should be called.
+ for (var i = 0; i < typeArray.length; i++) {
+ var caughtType = typeArray[i];
+ if (caughtType === 0 || caughtType === thrownType) {
+ // Catch all clause matched or exactly the same type is caught
+ break;
+ }
+ if (___cxa_can_catch(caughtType, thrownType, exceptionThrowBuf)) {
+ var adjusted = HEAP32[((exceptionThrowBuf)>>2)];
+ if (thrown !== adjusted) {
+ catchInfo.set_adjusted_ptr(adjusted);
+ }
+ setTempRet0(caughtType); return ((catchInfo.ptr)|0);
+ }
+ }
+ stackRestore(stackTop);
+ setTempRet0(thrownType); return ((catchInfo.ptr)|0);
+ }
+
+ function ___cxa_find_matching_catch_3() {
+ var thrown = exceptionLast;
+ if (!thrown) {
+ // just pass through the null ptr
+ setTempRet0(0); return ((0)|0);
+ }
+ var info = new ExceptionInfo(thrown);
+ var thrownType = info.get_type();
+ var catchInfo = new CatchInfo();
+ catchInfo.set_base_ptr(thrown);
+ if (!thrownType) {
+ // just pass through the thrown ptr
+ setTempRet0(0); return ((catchInfo.ptr)|0);
+ }
+ var typeArray = Array.prototype.slice.call(arguments);
+
+ // can_catch receives a **, add indirection
+ var stackTop = stackSave();
+ var exceptionThrowBuf = stackAlloc(4);
+ HEAP32[((exceptionThrowBuf)>>2)] = thrown;
+ // The different catch blocks are denoted by different types.
+ // Due to inheritance, those types may not precisely match the
+ // type of the thrown object. Find one which matches, and
+ // return the type of the catch block which should be called.
+ for (var i = 0; i < typeArray.length; i++) {
+ var caughtType = typeArray[i];
+ if (caughtType === 0 || caughtType === thrownType) {
+ // Catch all clause matched or exactly the same type is caught
+ break;
+ }
+ if (___cxa_can_catch(caughtType, thrownType, exceptionThrowBuf)) {
+ var adjusted = HEAP32[((exceptionThrowBuf)>>2)];
+ if (thrown !== adjusted) {
+ catchInfo.set_adjusted_ptr(adjusted);
+ }
+ setTempRet0(caughtType); return ((catchInfo.ptr)|0);
+ }
+ }
+ stackRestore(stackTop);
+ setTempRet0(thrownType); return ((catchInfo.ptr)|0);
+ }
+
+
+ function ___cxa_rethrow() {
+ var catchInfo = exceptionCaught.pop();
+ if (!catchInfo) {
+ abort('no exception to throw');
+ }
+ var info = catchInfo.get_exception_info();
+ var ptr = catchInfo.get_base_ptr();
+ if (!info.get_rethrown()) {
+ // Only pop if the corresponding push was through rethrow_primary_exception
+ exceptionCaught.push(catchInfo);
+ info.set_rethrown(true);
+ info.set_caught(false);
+ uncaughtExceptionCount++;
+ } else {
+ catchInfo.free();
+ }
+ exceptionLast = ptr;
+ throw ptr;
+ }
+
+ function ___cxa_throw(ptr, type, destructor) {
+ var info = new ExceptionInfo(ptr);
+ // Initialize ExceptionInfo content after it was allocated in __cxa_allocate_exception.
+ info.init(type, destructor);
+ exceptionLast = ptr;
+ uncaughtExceptionCount++;
+ throw ptr;
+ }
+
+ function _tzset() {
+ // TODO: Use (malleable) environment variables instead of system settings.
+ if (_tzset.called) return;
+ _tzset.called = true;
+
+ 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();
+
+ // Local standard timezone offset. Local standard time is not adjusted for daylight savings.
+ // This code uses the fact that getTimezoneOffset returns a greater value during Standard Time versus Daylight Saving Time (DST).
+ // Thus it determines the expected output during Standard Time, and it compares whether the output of the given date the same (Standard) or less (DST).
+ var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
+
+ // timezone is specified as seconds west of UTC ("The external variable
+ // `timezone` shall be set to the difference, in seconds, between
+ // Coordinated Universal Time (UTC) and local standard time."), the same
+ // as returned by stdTimezoneOffset.
+ // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html
+ HEAP32[((__get_timezone())>>2)] = stdTimezoneOffset * 60;
+
+ HEAP32[((__get_daylight())>>2)] = Number(winterOffset != summerOffset);
+
+ function extractZone(date) {
+ var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
+ return match ? match[1] : "GMT";
+ };
+ var winterName = extractZone(winter);
+ var summerName = extractZone(summer);
+ var winterNamePtr = allocateUTF8(winterName);
+ var summerNamePtr = allocateUTF8(summerName);
+ if (summerOffset < winterOffset) {
+ // Northern hemisphere
+ HEAP32[((__get_tzname())>>2)] = winterNamePtr;
+ HEAP32[(((__get_tzname())+(4))>>2)] = summerNamePtr;
+ } else {
+ HEAP32[((__get_tzname())>>2)] = summerNamePtr;
+ HEAP32[(((__get_tzname())+(4))>>2)] = winterNamePtr;
+ }
+ }
+ function _localtime_r(time, tmPtr) {
+ _tzset();
+ var date = new Date(HEAP32[((time)>>2)]*1000);
+ HEAP32[((tmPtr)>>2)] = date.getSeconds();
+ HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes();
+ HEAP32[(((tmPtr)+(8))>>2)] = date.getHours();
+ HEAP32[(((tmPtr)+(12))>>2)] = date.getDate();
+ HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth();
+ HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900;
+ HEAP32[(((tmPtr)+(24))>>2)] = date.getDay();
+
+ var start = new Date(date.getFullYear(), 0, 1);
+ var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0;
+ HEAP32[(((tmPtr)+(28))>>2)] = yday;
+ HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60);
+
+ // Attention: DST is in December in South, and some regions don't have DST at all.
+ var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
+ var winterOffset = start.getTimezoneOffset();
+ var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0;
+ HEAP32[(((tmPtr)+(32))>>2)] = dst;
+
+ var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)];
+ HEAP32[(((tmPtr)+(40))>>2)] = zonePtr;
+
+ return tmPtr;
+ }
+ function ___localtime_r(a0,a1
+ ) {
+ return _localtime_r(a0,a1);
+ }
+
+
+ var PATH={splitPath:function(filename) {
+ var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+ return splitPathRe.exec(filename).slice(1);
+ },normalizeArray:function(parts, allowAboveRoot) {
+ // if the path tries to go above the root, `up` ends up > 0
+ 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 the path is allowed to go above the root, restore leading ..s
+ if (allowAboveRoot) {
+ for (; up; up--) {
+ parts.unshift('..');
+ }
+ }
+ return parts;
+ },normalize:function(path) {
+ var isAbsolute = path.charAt(0) === '/',
+ trailingSlash = path.substr(-1) === '/';
+ // Normalize the path
+ path = PATH.normalizeArray(path.split('/').filter(function(p) {
+ return !!p;
+ }), !isAbsolute).join('/');
+ if (!path && !isAbsolute) {
+ path = '.';
+ }
+ if (path && trailingSlash) {
+ path += '/';
+ }
+ return (isAbsolute ? '/' : '') + path;
+ },dirname:function(path) {
+ var result = PATH.splitPath(path),
+ root = result[0],
+ dir = result[1];
+ if (!root && !dir) {
+ // No dirname whatsoever
+ return '.';
+ }
+ if (dir) {
+ // It has a dirname, strip trailing slash
+ dir = dir.substr(0, dir.length - 1);
+ }
+ return root + dir;
+ },basename:function(path) {
+ // EMSCRIPTEN return '/'' for '/', not an empty string
+ if (path === '/') return '/';
+ path = PATH.normalize(path);
+ path = path.replace(/\/$/, "");
+ var lastSlash = path.lastIndexOf('/');
+ if (lastSlash === -1) return path;
+ return path.substr(lastSlash+1);
+ },extname:function(path) {
+ return PATH.splitPath(path)[3];
+ },join:function() {
+ var paths = Array.prototype.slice.call(arguments, 0);
+ return PATH.normalize(paths.join('/'));
+ },join2:function(l, r) {
+ return PATH.normalize(l + '/' + r);
+ }};
+
+ function getRandomDevice() {
+ if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') {
+ // for modern web browsers
+ var randomBuffer = new Uint8Array(1);
+ return function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
+ } else
+ if (ENVIRONMENT_IS_NODE) {
+ // for nodejs with or without crypto support included
+ try {
+ var crypto_module = require('crypto');
+ // nodejs has crypto support
+ return function() { return crypto_module['randomBytes'](1)[0]; };
+ } catch (e) {
+ // nodejs doesn't have crypto support
+ }
+ }
+ // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
+ return function() { abort("randomDevice"); };
+ }
+
+ var PATH_FS={resolve:function() {
+ var resolvedPath = '',
+ resolvedAbsolute = false;
+ for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+ var path = (i >= 0) ? arguments[i] : FS.cwd();
+ // Skip empty and invalid entries
+ if (typeof path !== 'string') {
+ throw new TypeError('Arguments to path.resolve must be strings');
+ } else if (!path) {
+ return ''; // an invalid portion invalidates the whole thing
+ }
+ resolvedPath = path + '/' + resolvedPath;
+ resolvedAbsolute = path.charAt(0) === '/';
+ }
+ // At this point the path should be resolved to a full absolute path, but
+ // handle relative paths to be safe (might happen when process.cwd() fails)
+ resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
+ return !!p;
+ }), !resolvedAbsolute).join('/');
+ return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
+ },relative:function(from, to) {
+ from = PATH_FS.resolve(from).substr(1);
+ to = PATH_FS.resolve(to).substr(1);
+ function trim(arr) {
+ var start = 0;
+ for (; start < arr.length; start++) {
+ if (arr[start] !== '') break;
+ }
+ var end = arr.length - 1;
+ for (; end >= 0; end--) {
+ if (arr[end] !== '') break;
+ }
+ if (start > end) return [];
+ return arr.slice(start, end - start + 1);
+ }
+ var fromParts = trim(from.split('/'));
+ var toParts = trim(to.split('/'));
+ var length = Math.min(fromParts.length, toParts.length);
+ var samePartsLength = length;
+ for (var i = 0; i < length; i++) {
+ if (fromParts[i] !== toParts[i]) {
+ samePartsLength = i;
+ break;
+ }
+ }
+ var outputParts = [];
+ for (var i = samePartsLength; i < fromParts.length; i++) {
+ outputParts.push('..');
+ }
+ outputParts = outputParts.concat(toParts.slice(samePartsLength));
+ return outputParts.join('/');
+ }};
+
+ var TTY={ttys:[],init:function () {
+ // https://github.com/emscripten-core/emscripten/pull/1555
+ // if (ENVIRONMENT_IS_NODE) {
+ // // currently, FS.init does not distinguish if process.stdin is a file or TTY
+ // // device, it always assumes it's a TTY device. because of this, we're forcing
+ // // process.stdin to UTF8 encoding to at least make stdin reading compatible
+ // // with text files until FS.init can be refactored.
+ // process['stdin']['setEncoding']('utf8');
+ // }
+ },shutdown:function() {
+ // https://github.com/emscripten-core/emscripten/pull/1555
+ // if (ENVIRONMENT_IS_NODE) {
+ // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
+ // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
+ // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
+ // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
+ // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
+ // process['stdin']['pause']();
+ // }
+ },register:function(dev, ops) {
+ TTY.ttys[dev] = { input: [], output: [], ops: ops };
+ FS.registerDevice(dev, TTY.stream_ops);
+ },stream_ops:{open:function(stream) {
+ var tty = TTY.ttys[stream.node.rdev];
+ if (!tty) {
+ throw new FS.ErrnoError(43);
+ }
+ stream.tty = tty;
+ stream.seekable = false;
+ },close:function(stream) {
+ // flush any pending line data
+ stream.tty.ops.flush(stream.tty);
+ },flush:function(stream) {
+ stream.tty.ops.flush(stream.tty);
+ },read:function(stream, buffer, offset, length, pos /* ignored */) {
+ if (!stream.tty || !stream.tty.ops.get_char) {
+ throw new FS.ErrnoError(60);
+ }
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = stream.tty.ops.get_char(stream.tty);
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(6);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset+i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },write:function(stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.put_char) {
+ throw new FS.ErrnoError(60);
+ }
+ try {
+ for (var i = 0; i < length; i++) {
+ stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
+ }
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }},default_tty_ops:{get_char:function(tty) {
+ if (!tty.input.length) {
+ var result = null;
+ if (ENVIRONMENT_IS_NODE) {
+ // we will read data by chunks of BUFSIZE
+ var BUFSIZE = 256;
+ var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
+ var bytesRead = 0;
+
+ try {
+ bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
+ } catch(e) {
+ // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
+ // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.
+ if (e.toString().includes('EOF')) bytesRead = 0;
+ else throw e;
+ }
+
+ if (bytesRead > 0) {
+ result = buf.slice(0, bytesRead).toString('utf-8');
+ } else {
+ result = null;
+ }
+ } else
+ if (typeof window != 'undefined' &&
+ typeof window.prompt == 'function') {
+ // Browser.
+ result = window.prompt('Input: '); // returns null on cancel
+ if (result !== null) {
+ result += '\n';
+ }
+ } else if (typeof readline == 'function') {
+ // Command line.
+ result = readline();
+ if (result !== null) {
+ result += '\n';
+ }
+ }
+ if (!result) {
+ return null;
+ }
+ tty.input = intArrayFromString(result, true);
+ }
+ return tty.input.shift();
+ },put_char:function(tty, val) {
+ if (val === null || val === 10) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
+ }
+ },flush:function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }},default_tty1_ops:{put_char:function(tty, val) {
+ if (val === null || val === 10) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },flush:function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }}};
+
+ function mmapAlloc(size) {
+ var alignedSize = alignMemory(size, 65536);
+ var ptr = _malloc(alignedSize);
+ while (size < alignedSize) HEAP8[ptr + size++] = 0;
+ return ptr;
+ }
+ var MEMFS={ops_table:null,mount:function(mount) {
+ return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
+ },createNode:function(parent, name, mode, dev) {
+ if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+ // no supported
+ throw new FS.ErrnoError(63);
+ }
+ if (!MEMFS.ops_table) {
+ MEMFS.ops_table = {
+ dir: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ lookup: MEMFS.node_ops.lookup,
+ mknod: MEMFS.node_ops.mknod,
+ rename: MEMFS.node_ops.rename,
+ unlink: MEMFS.node_ops.unlink,
+ rmdir: MEMFS.node_ops.rmdir,
+ readdir: MEMFS.node_ops.readdir,
+ symlink: MEMFS.node_ops.symlink
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek
+ }
+ },
+ file: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek,
+ read: MEMFS.stream_ops.read,
+ write: MEMFS.stream_ops.write,
+ allocate: MEMFS.stream_ops.allocate,
+ mmap: MEMFS.stream_ops.mmap,
+ msync: MEMFS.stream_ops.msync
+ }
+ },
+ link: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ readlink: MEMFS.node_ops.readlink
+ },
+ stream: {}
+ },
+ chrdev: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: FS.chrdev_stream_ops
+ }
+ };
+ }
+ var 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; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
+ // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
+ // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
+ // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
+ 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.timestamp = Date.now();
+ // add the new node to the parent
+ if (parent) {
+ parent.contents[name] = node;
+ parent.timestamp = node.timestamp;
+ }
+ return node;
+ },getFileDataAsTypedArray:function(node) {
+ if (!node.contents) return new Uint8Array(0);
+ if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
+ return new Uint8Array(node.contents);
+ },expandFileStorage:function(node, newCapacity) {
+ var prevCapacity = node.contents ? node.contents.length : 0;
+ if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
+ // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
+ // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
+ // avoid overshooting the allocation cap by a very large margin.
+ var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+ newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0);
+ if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(newCapacity); // Allocate new storage.
+ if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
+ },resizeFileStorage:function(node, newSize) {
+ if (node.usedBytes == newSize) return;
+ if (newSize == 0) {
+ node.contents = null; // Fully decommit when requesting a resize to zero.
+ node.usedBytes = 0;
+ } else {
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(newSize); // Allocate new storage.
+ if (oldContents) {
+ node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
+ }
+ node.usedBytes = newSize;
+ }
+ },node_ops:{getattr:function(node) {
+ var attr = {};
+ // device numbers reuse inode numbers.
+ 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.timestamp);
+ attr.mtime = new Date(node.timestamp);
+ attr.ctime = new Date(node.timestamp);
+ // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
+ // but this is not required by the standard.
+ attr.blksize = 4096;
+ attr.blocks = Math.ceil(attr.size / attr.blksize);
+ return attr;
+ },setattr:function(node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ if (attr.size !== undefined) {
+ MEMFS.resizeFileStorage(node, attr.size);
+ }
+ },lookup:function(parent, name) {
+ throw FS.genericErrors[44];
+ },mknod:function(parent, name, mode, dev) {
+ return MEMFS.createNode(parent, name, mode, dev);
+ },rename:function(old_node, new_dir, new_name) {
+ // if we're overwriting a directory at new_name, make sure it's empty.
+ if (FS.isDir(old_node.mode)) {
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {
+ }
+ if (new_node) {
+ for (var i in new_node.contents) {
+ throw new FS.ErrnoError(55);
+ }
+ }
+ }
+ // do the internal rewiring
+ delete old_node.parent.contents[old_node.name];
+ old_node.parent.timestamp = Date.now()
+ old_node.name = new_name;
+ new_dir.contents[new_name] = old_node;
+ new_dir.timestamp = old_node.parent.timestamp;
+ old_node.parent = new_dir;
+ },unlink:function(parent, name) {
+ delete parent.contents[name];
+ parent.timestamp = Date.now();
+ },rmdir:function(parent, name) {
+ var node = FS.lookupNode(parent, name);
+ for (var i in node.contents) {
+ throw new FS.ErrnoError(55);
+ }
+ delete parent.contents[name];
+ parent.timestamp = Date.now();
+ },readdir:function(node) {
+ var entries = ['.', '..'];
+ for (var key in node.contents) {
+ if (!node.contents.hasOwnProperty(key)) {
+ continue;
+ }
+ entries.push(key);
+ }
+ return entries;
+ },symlink:function(parent, newname, oldpath) {
+ var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
+ node.link = oldpath;
+ return node;
+ },readlink:function(node) {
+ if (!FS.isLink(node.mode)) {
+ throw new FS.ErrnoError(28);
+ }
+ return node.link;
+ }},stream_ops:{read:function(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) { // non-trivial, and typed array
+ buffer.set(contents.subarray(position, position + size), offset);
+ } else {
+ for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
+ }
+ return size;
+ },write:function(stream, buffer, offset, length, position, canOwn) {
+ // If the buffer is located in main memory (HEAP), and if
+ // memory can grow, we can't hold on to references of the
+ // memory buffer, as they may get invalidated. That means we
+ // need to do copy its contents.
+ if (buffer.buffer === HEAP8.buffer) {
+ canOwn = false;
+ }
+
+ if (!length) return 0;
+ var node = stream.node;
+ node.timestamp = Date.now();
+
+ if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
+ if (canOwn) {
+ node.contents = buffer.subarray(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
+ node.contents = buffer.slice(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ return length;
+ }
+ }
+
+ // Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
+ MEMFS.expandFileStorage(node, position+length);
+ if (node.contents.subarray && buffer.subarray) {
+ // Use typed array write which is available.
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ } else {
+ for (var i = 0; i < length; i++) {
+ node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
+ }
+ }
+ node.usedBytes = Math.max(node.usedBytes, position + length);
+ return length;
+ },llseek:function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.usedBytes;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ return position;
+ },allocate:function(stream, offset, length) {
+ MEMFS.expandFileStorage(stream.node, offset + length);
+ stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
+ },mmap:function(stream, address, length, position, prot, flags) {
+ if (address !== 0) {
+ // We don't currently support location hints for the address of the mapping
+ throw new FS.ErrnoError(28);
+ }
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ var ptr;
+ var allocated;
+ var contents = stream.node.contents;
+ // Only make a new copy when MAP_PRIVATE is specified.
+ if (!(flags & 2) && contents.buffer === buffer) {
+ // We can't emulate MAP_SHARED when the file is not backed by the buffer
+ // we're mapping to (e.g. the HEAP buffer).
+ allocated = false;
+ ptr = contents.byteOffset;
+ } else {
+ // Try to avoid unnecessary slices.
+ if (position > 0 || position + length < contents.length) {
+ if (contents.subarray) {
+ contents = contents.subarray(position, position + length);
+ } else {
+ contents = Array.prototype.slice.call(contents, position, position + length);
+ }
+ }
+ allocated = true;
+ ptr = mmapAlloc(length);
+ if (!ptr) {
+ throw new FS.ErrnoError(48);
+ }
+ HEAP8.set(contents, ptr);
+ }
+ return { ptr: ptr, allocated: allocated };
+ },msync:function(stream, buffer, offset, length, mmapFlags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ if (mmapFlags & 2) {
+ // MAP_PRIVATE calls need not to be synced back to underlying fs
+ return 0;
+ }
+
+ var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
+ // should we check if bytesWritten and length are the same?
+ return 0;
+ }}};
+ var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(path, opts) {
+ path = PATH_FS.resolve(FS.cwd(), path);
+ opts = opts || {};
+
+ if (!path) return { path: '', node: null };
+
+ var defaults = {
+ follow_mount: true,
+ recurse_count: 0
+ };
+ for (var key in defaults) {
+ if (opts[key] === undefined) {
+ opts[key] = defaults[key];
+ }
+ }
+
+ if (opts.recurse_count > 8) { // max recursive lookup of 8
+ throw new FS.ErrnoError(32);
+ }
+
+ // split the path
+ var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
+ return !!p;
+ }), false);
+
+ // start at the root
+ var current = FS.root;
+ var current_path = '/';
+
+ for (var i = 0; i < parts.length; i++) {
+ var islast = (i === parts.length-1);
+ if (islast && opts.parent) {
+ // stop resolving
+ break;
+ }
+
+ current = FS.lookupNode(current, parts[i]);
+ current_path = PATH.join2(current_path, parts[i]);
+
+ // jump to the mount's root node if this is a mountpoint
+ if (FS.isMountpoint(current)) {
+ if (!islast || (islast && opts.follow_mount)) {
+ current = current.mounted.root;
+ }
+ }
+
+ // by default, lookupPath will not follow a symlink if it is the final path component.
+ // setting opts.follow = true will override this behavior.
+ if (!islast || opts.follow) {
+ var count = 0;
+ while (FS.isLink(current.mode)) {
+ var link = FS.readlink(current_path);
+ current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
+
+ var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
+ current = lookup.node;
+
+ if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
+ throw new FS.ErrnoError(32);
+ }
+ }
+ }
+ }
+
+ return { path: current_path, node: current };
+ },getPath:function(node) {
+ var path;
+ while (true) {
+ if (FS.isRoot(node)) {
+ var mount = node.mount.mountpoint;
+ if (!path) return mount;
+ return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
+ }
+ path = path ? node.name + '/' + path : node.name;
+ node = node.parent;
+ }
+ },hashName:function(parentid, name) {
+ var hash = 0;
+
+ for (var i = 0; i < name.length; i++) {
+ hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
+ }
+ return ((parentid + hash) >>> 0) % FS.nameTable.length;
+ },hashAddNode:function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ node.name_next = FS.nameTable[hash];
+ FS.nameTable[hash] = node;
+ },hashRemoveNode:function(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:function(parent, name) {
+ var errCode = FS.mayLookup(parent);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode, parent);
+ }
+ 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;
+ }
+ }
+ // if we failed to find it in the cache, call into the VFS
+ return FS.lookup(parent, name);
+ },createNode:function(parent, name, mode, rdev) {
+ var node = new FS.FSNode(parent, name, mode, rdev);
+
+ FS.hashAddNode(node);
+
+ return node;
+ },destroyNode:function(node) {
+ FS.hashRemoveNode(node);
+ },isRoot:function(node) {
+ return node === node.parent;
+ },isMountpoint:function(node) {
+ return !!node.mounted;
+ },isFile:function(mode) {
+ return (mode & 61440) === 32768;
+ },isDir:function(mode) {
+ return (mode & 61440) === 16384;
+ },isLink:function(mode) {
+ return (mode & 61440) === 40960;
+ },isChrdev:function(mode) {
+ return (mode & 61440) === 8192;
+ },isBlkdev:function(mode) {
+ return (mode & 61440) === 24576;
+ },isFIFO:function(mode) {
+ return (mode & 61440) === 4096;
+ },isSocket:function(mode) {
+ return (mode & 49152) === 49152;
+ },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str) {
+ var flags = FS.flagModes[str];
+ if (typeof flags === 'undefined') {
+ throw new Error('Unknown file open mode: ' + str);
+ }
+ return flags;
+ },flagsToPermissionString:function(flag) {
+ var perms = ['r', 'w', 'rw'][flag & 3];
+ if ((flag & 512)) {
+ perms += 'w';
+ }
+ return perms;
+ },nodePermissions:function(node, perms) {
+ if (FS.ignorePermissions) {
+ return 0;
+ }
+ // return 0 if any user, group or owner bits are set.
+ 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:function(dir) {
+ var errCode = FS.nodePermissions(dir, 'x');
+ if (errCode) return errCode;
+ if (!dir.node_ops.lookup) return 2;
+ return 0;
+ },mayCreate:function(dir, name) {
+ try {
+ var node = FS.lookupNode(dir, name);
+ return 20;
+ } catch (e) {
+ }
+ return FS.nodePermissions(dir, 'wx');
+ },mayDelete:function(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:function(node, flags) {
+ if (!node) {
+ return 44;
+ }
+ if (FS.isLink(node.mode)) {
+ return 32;
+ } else if (FS.isDir(node.mode)) {
+ if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
+ (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
+ return 31;
+ }
+ }
+ return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) {
+ fd_start = fd_start || 0;
+ fd_end = fd_end || FS.MAX_OPEN_FDS;
+ for (var fd = fd_start; fd <= fd_end; fd++) {
+ if (!FS.streams[fd]) {
+ return fd;
+ }
+ }
+ throw new FS.ErrnoError(33);
+ },getStream:function(fd) {
+ return FS.streams[fd];
+ },createStream:function(stream, fd_start, fd_end) {
+ if (!FS.FSStream) {
+ FS.FSStream = /** @constructor */ function(){};
+ FS.FSStream.prototype = {
+ object: {
+ get: function() { return this.node; },
+ set: function(val) { this.node = val; }
+ },
+ isRead: {
+ get: function() { return (this.flags & 2097155) !== 1; }
+ },
+ isWrite: {
+ get: function() { return (this.flags & 2097155) !== 0; }
+ },
+ isAppend: {
+ get: function() { return (this.flags & 1024); }
+ }
+ };
+ }
+ // clone it, so we can return an instance of FSStream
+ var newStream = new FS.FSStream();
+ for (var p in stream) {
+ newStream[p] = stream[p];
+ }
+ stream = newStream;
+ var fd = FS.nextfd(fd_start, fd_end);
+ stream.fd = fd;
+ FS.streams[fd] = stream;
+ return stream;
+ },closeStream:function(fd) {
+ FS.streams[fd] = null;
+ },chrdev_stream_ops:{open:function(stream) {
+ var device = FS.getDevice(stream.node.rdev);
+ // override node's stream ops with the device's
+ stream.stream_ops = device.stream_ops;
+ // forward the open call
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ },llseek:function() {
+ throw new FS.ErrnoError(70);
+ }},major:function(dev) {
+ return ((dev) >> 8);
+ },minor:function(dev) {
+ return ((dev) & 0xff);
+ },makedev:function(ma, mi) {
+ return ((ma) << 8 | (mi));
+ },registerDevice:function(dev, ops) {
+ FS.devices[dev] = { stream_ops: ops };
+ },getDevice:function(dev) {
+ return FS.devices[dev];
+ },getMounts:function(mount) {
+ var mounts = [];
+ var check = [mount];
+
+ while (check.length) {
+ var m = check.pop();
+
+ mounts.push(m);
+
+ check.push.apply(check, m.mounts);
+ }
+
+ return mounts;
+ },syncfs:function(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);
+ }
+ };
+
+ // sync all mounts
+ mounts.forEach(function (mount) {
+ if (!mount.type.syncfs) {
+ return done(null);
+ }
+ mount.type.syncfs(mount, populate, done);
+ });
+ },mount:function(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; // use the absolute 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: type,
+ opts: opts,
+ mountpoint: mountpoint,
+ mounts: []
+ };
+
+ // create a root node for the fs
+ var mountRoot = type.mount(mount);
+ mountRoot.mount = mount;
+ mount.root = mountRoot;
+
+ if (root) {
+ FS.root = mountRoot;
+ } else if (node) {
+ // set as a mountpoint
+ node.mounted = mount;
+
+ // add the new mount to the current mount's children
+ if (node.mount) {
+ node.mount.mounts.push(mount);
+ }
+ }
+
+ return mountRoot;
+ },unmount:function (mountpoint) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+
+ if (!FS.isMountpoint(lookup.node)) {
+ throw new FS.ErrnoError(28);
+ }
+
+ // destroy the nodes for this mount, and all its child mounts
+ var node = lookup.node;
+ var mount = node.mounted;
+ var mounts = FS.getMounts(mount);
+
+ Object.keys(FS.nameTable).forEach(function (hash) {
+ var current = FS.nameTable[hash];
+
+ while (current) {
+ var next = current.name_next;
+
+ if (mounts.includes(current.mount)) {
+ FS.destroyNode(current);
+ }
+
+ current = next;
+ }
+ });
+
+ // no longer a mountpoint
+ node.mounted = null;
+
+ // remove this mount from the child mounts
+ var idx = node.mount.mounts.indexOf(mount);
+ node.mount.mounts.splice(idx, 1);
+ },lookup:function(parent, name) {
+ return parent.node_ops.lookup(parent, name);
+ },mknod:function(path, mode, dev) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ if (!name || name === '.' || name === '..') {
+ throw new FS.ErrnoError(28);
+ }
+ var errCode = FS.mayCreate(parent, name);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!parent.node_ops.mknod) {
+ throw new FS.ErrnoError(63);
+ }
+ return parent.node_ops.mknod(parent, name, mode, dev);
+ },create:function(path, mode) {
+ mode = mode !== undefined ? mode : 438 /* 0666 */;
+ mode &= 4095;
+ mode |= 32768;
+ return FS.mknod(path, mode, 0);
+ },mkdir:function(path, mode) {
+ mode = mode !== undefined ? mode : 511 /* 0777 */;
+ mode &= 511 | 512;
+ mode |= 16384;
+ return FS.mknod(path, mode, 0);
+ },mkdirTree:function(path, mode) {
+ var dirs = path.split('/');
+ var d = '';
+ for (var i = 0; i < dirs.length; ++i) {
+ if (!dirs[i]) continue;
+ d += '/' + dirs[i];
+ try {
+ FS.mkdir(d, mode);
+ } catch(e) {
+ if (e.errno != 20) throw e;
+ }
+ }
+ },mkdev:function(path, mode, dev) {
+ if (typeof(dev) === 'undefined') {
+ dev = mode;
+ mode = 438 /* 0666 */;
+ }
+ mode |= 8192;
+ return FS.mknod(path, mode, dev);
+ },symlink:function(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:function(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);
+ // parents must exist
+ var lookup, old_dir, new_dir;
+
+ // let the errors from non existant directories percolate up
+ 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);
+ // need to be part of the same mount
+ if (old_dir.mount !== new_dir.mount) {
+ throw new FS.ErrnoError(75);
+ }
+ // source must exist
+ var old_node = FS.lookupNode(old_dir, old_name);
+ // old path should not be an ancestor of the new path
+ var relative = PATH_FS.relative(old_path, new_dirname);
+ if (relative.charAt(0) !== '.') {
+ throw new FS.ErrnoError(28);
+ }
+ // new path should not be an ancestor of the old path
+ relative = PATH_FS.relative(new_path, old_dirname);
+ if (relative.charAt(0) !== '.') {
+ throw new FS.ErrnoError(55);
+ }
+ // see if the new path already exists
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {
+ // not fatal
+ }
+ // early out if nothing needs to change
+ if (old_node === new_node) {
+ return;
+ }
+ // we'll need to delete the old entry
+ var isdir = FS.isDir(old_node.mode);
+ var errCode = FS.mayDelete(old_dir, old_name, isdir);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ // need delete permissions if we'll be overwriting.
+ // need create permissions if new doesn't already exist.
+ 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 we are going to change the parent, check write permissions
+ if (new_dir !== old_dir) {
+ errCode = FS.nodePermissions(old_dir, 'w');
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ }
+ try {
+ if (FS.trackingDelegate['willMovePath']) {
+ FS.trackingDelegate['willMovePath'](old_path, new_path);
+ }
+ } catch(e) {
+ err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
+ }
+ // remove the node from the lookup hash
+ FS.hashRemoveNode(old_node);
+ // do the underlying fs rename
+ try {
+ old_dir.node_ops.rename(old_node, new_dir, new_name);
+ } catch (e) {
+ throw e;
+ } finally {
+ // add the node back to the hash (in case node_ops.rename
+ // changed its name)
+ FS.hashAddNode(old_node);
+ }
+ try {
+ if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
+ } catch(e) {
+ err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
+ }
+ },rmdir:function(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);
+ }
+ try {
+ if (FS.trackingDelegate['willDeletePath']) {
+ FS.trackingDelegate['willDeletePath'](path);
+ }
+ } catch(e) {
+ err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ parent.node_ops.rmdir(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
+ } catch(e) {
+ err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ },readdir:function(path) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ if (!node.node_ops.readdir) {
+ throw new FS.ErrnoError(54);
+ }
+ return node.node_ops.readdir(node);
+ },unlink:function(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, false);
+ if (errCode) {
+ // According to POSIX, we should map EISDIR to EPERM, but
+ // we instead do what Linux does (and we must, as we use
+ // the musl linux libc).
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!parent.node_ops.unlink) {
+ throw new FS.ErrnoError(63);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(10);
+ }
+ try {
+ if (FS.trackingDelegate['willDeletePath']) {
+ FS.trackingDelegate['willDeletePath'](path);
+ }
+ } catch(e) {
+ err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ parent.node_ops.unlink(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
+ } catch(e) {
+ err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ },readlink:function(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 PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
+ },stat:function(path, dontFollow) {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ var node = lookup.node;
+ if (!node) {
+ throw new FS.ErrnoError(44);
+ }
+ if (!node.node_ops.getattr) {
+ throw new FS.ErrnoError(63);
+ }
+ return node.node_ops.getattr(node);
+ },lstat:function(path) {
+ return FS.stat(path, true);
+ },chmod:function(path, mode, dontFollow) {
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(63);
+ }
+ node.node_ops.setattr(node, {
+ mode: (mode & 4095) | (node.mode & ~4095),
+ timestamp: Date.now()
+ });
+ },lchmod:function(path, mode) {
+ FS.chmod(path, mode, true);
+ },fchmod:function(fd, mode) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(8);
+ }
+ FS.chmod(stream.node, mode);
+ },chown:function(path, uid, gid, dontFollow) {
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(63);
+ }
+ node.node_ops.setattr(node, {
+ timestamp: Date.now()
+ // we ignore the uid / gid for now
+ });
+ },lchown:function(path, uid, gid) {
+ FS.chown(path, uid, gid, true);
+ },fchown:function(fd, uid, gid) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(8);
+ }
+ FS.chown(stream.node, uid, gid);
+ },truncate:function(path, len) {
+ if (len < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(63);
+ }
+ if (FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(31);
+ }
+ if (!FS.isFile(node.mode)) {
+ throw new FS.ErrnoError(28);
+ }
+ var errCode = FS.nodePermissions(node, 'w');
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ node.node_ops.setattr(node, {
+ size: len,
+ timestamp: Date.now()
+ });
+ },ftruncate:function(fd, len) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(8);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(28);
+ }
+ FS.truncate(stream.node, len);
+ },utime:function(path, atime, mtime) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ node.node_ops.setattr(node, {
+ timestamp: Math.max(atime, mtime)
+ });
+ },open:function(path, flags, mode, fd_start, fd_end) {
+ if (path === "") {
+ throw new FS.ErrnoError(44);
+ }
+ flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
+ mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
+ if ((flags & 64)) {
+ mode = (mode & 4095) | 32768;
+ } else {
+ mode = 0;
+ }
+ var node;
+ if (typeof path === 'object') {
+ node = path;
+ } else {
+ path = PATH.normalize(path);
+ try {
+ var lookup = FS.lookupPath(path, {
+ follow: !(flags & 131072)
+ });
+ node = lookup.node;
+ } catch (e) {
+ // ignore
+ }
+ }
+ // perhaps we need to create the node
+ var created = false;
+ if ((flags & 64)) {
+ if (node) {
+ // if O_CREAT and O_EXCL are set, error out if the node already exists
+ if ((flags & 128)) {
+ throw new FS.ErrnoError(20);
+ }
+ } else {
+ // node doesn't exist, try to create it
+ node = FS.mknod(path, mode, 0);
+ created = true;
+ }
+ }
+ if (!node) {
+ throw new FS.ErrnoError(44);
+ }
+ // can't truncate a device
+ if (FS.isChrdev(node.mode)) {
+ flags &= ~512;
+ }
+ // if asked only for a directory, then this must be one
+ if ((flags & 65536) && !FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(54);
+ }
+ // check permissions, if this is not a file we just created now (it is ok to
+ // create and write to a file with read-only permissions; it is read-only
+ // for later use)
+ if (!created) {
+ var errCode = FS.mayOpen(node, flags);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ }
+ // do truncation if necessary
+ if ((flags & 512)) {
+ FS.truncate(node, 0);
+ }
+ // we've already handled these, don't pass down to the underlying vfs
+ flags &= ~(128 | 512 | 131072);
+
+ // register the stream with the filesystem
+ var stream = FS.createStream({
+ node: node,
+ path: FS.getPath(node), // we want the absolute path to the node
+ flags: flags,
+ seekable: true,
+ position: 0,
+ stream_ops: node.stream_ops,
+ // used by the file family libc calls (fopen, fwrite, ferror, etc.)
+ ungotten: [],
+ error: false
+ }, fd_start, fd_end);
+ // call the new stream's open function
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ if (Module['logReadFiles'] && !(flags & 1)) {
+ if (!FS.readFiles) FS.readFiles = {};
+ if (!(path in FS.readFiles)) {
+ FS.readFiles[path] = 1;
+ err("FS.trackingDelegate error on read file: " + path);
+ }
+ }
+ try {
+ if (FS.trackingDelegate['onOpenFile']) {
+ var trackingFlags = 0;
+ if ((flags & 2097155) !== 1) {
+ trackingFlags |= FS.tracking.openFlags.READ;
+ }
+ if ((flags & 2097155) !== 0) {
+ trackingFlags |= FS.tracking.openFlags.WRITE;
+ }
+ FS.trackingDelegate['onOpenFile'](path, trackingFlags);
+ }
+ } catch(e) {
+ err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
+ }
+ return stream;
+ },close:function(stream) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if (stream.getdents) stream.getdents = null; // free readdir state
+ try {
+ if (stream.stream_ops.close) {
+ stream.stream_ops.close(stream);
+ }
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.closeStream(stream.fd);
+ }
+ stream.fd = null;
+ },isClosed:function(stream) {
+ return stream.fd === null;
+ },llseek:function(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:function(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:function(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) {
+ // seek to the end before writing in append mode
+ 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;
+ try {
+ if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
+ } catch(e) {
+ err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message);
+ }
+ return bytesWritten;
+ },allocate:function(stream, offset, length) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if (offset < 0 || length <= 0) {
+ throw new FS.ErrnoError(28);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(8);
+ }
+ if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ if (!stream.stream_ops.allocate) {
+ throw new FS.ErrnoError(138);
+ }
+ stream.stream_ops.allocate(stream, offset, length);
+ },mmap:function(stream, address, length, position, prot, flags) {
+ // User requests writing to file (prot & PROT_WRITE != 0).
+ // Checking if we have permissions to write to the file unless
+ // MAP_PRIVATE flag is set. According to POSIX spec it is possible
+ // to write to file opened in read-only mode with MAP_PRIVATE flag,
+ // as all modifications will be visible only in the memory of
+ // the current process.
+ 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);
+ }
+ return stream.stream_ops.mmap(stream, address, length, position, prot, flags);
+ },msync:function(stream, buffer, offset, length, mmapFlags) {
+ if (!stream || !stream.stream_ops.msync) {
+ return 0;
+ }
+ return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
+ },munmap:function(stream) {
+ return 0;
+ },ioctl:function(stream, cmd, arg) {
+ if (!stream.stream_ops.ioctl) {
+ throw new FS.ErrnoError(59);
+ }
+ return stream.stream_ops.ioctl(stream, cmd, arg);
+ },readFile:function(path, opts) {
+ opts = 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, 0);
+ } else if (opts.encoding === 'binary') {
+ ret = buf;
+ }
+ FS.close(stream);
+ return ret;
+ },writeFile:function(path, data, opts) {
+ opts = 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:function() {
+ return FS.currentPath;
+ },chdir:function(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:function() {
+ FS.mkdir('/tmp');
+ FS.mkdir('/home');
+ FS.mkdir('/home/web_user');
+ },createDefaultDevices:function() {
+ // create /dev
+ FS.mkdir('/dev');
+ // setup /dev/null
+ FS.registerDevice(FS.makedev(1, 3), {
+ read: function() { return 0; },
+ write: function(stream, buffer, offset, length, pos) { return length; }
+ });
+ FS.mkdev('/dev/null', FS.makedev(1, 3));
+ // setup /dev/tty and /dev/tty1
+ // stderr needs to print output using err() rather than out()
+ // so we register a second tty just for it.
+ 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));
+ // setup /dev/[u]random
+ var random_device = getRandomDevice();
+ FS.createDevice('/dev', 'random', random_device);
+ FS.createDevice('/dev', 'urandom', random_device);
+ // we're not going to emulate the actual shm device,
+ // just create the tmp dirs that reside in it commonly
+ FS.mkdir('/dev/shm');
+ FS.mkdir('/dev/shm/tmp');
+ },createSpecialDirectories:function() {
+ // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the
+ // name of the stream for fd 6 (see test_unistd_ttyname)
+ FS.mkdir('/proc');
+ var proc_self = FS.mkdir('/proc/self');
+ FS.mkdir('/proc/self/fd');
+ FS.mount({
+ mount: function() {
+ var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73);
+ node.node_ops = {
+ lookup: function(parent, name) {
+ var fd = +name;
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(8);
+ var ret = {
+ parent: null,
+ mount: { mountpoint: 'fake' },
+ node_ops: { readlink: function() { return stream.path } }
+ };
+ ret.parent = ret; // make it look like a simple root node
+ return ret;
+ }
+ };
+ return node;
+ }
+ }, {}, '/proc/self/fd');
+ },createStandardStreams:function() {
+ // TODO deprecate the old functionality of a single
+ // input / output callback and that utilizes FS.createDevice
+ // and instead require a unique set of stream ops
+
+ // by default, we symlink the standard streams to the
+ // default tty devices. however, if the standard streams
+ // have been overwritten we create a unique device for
+ // them instead.
+ if (Module['stdin']) {
+ FS.createDevice('/dev', 'stdin', Module['stdin']);
+ } else {
+ FS.symlink('/dev/tty', '/dev/stdin');
+ }
+ if (Module['stdout']) {
+ FS.createDevice('/dev', 'stdout', null, Module['stdout']);
+ } else {
+ FS.symlink('/dev/tty', '/dev/stdout');
+ }
+ if (Module['stderr']) {
+ FS.createDevice('/dev', 'stderr', null, Module['stderr']);
+ } else {
+ FS.symlink('/dev/tty1', '/dev/stderr');
+ }
+
+ // open default streams for the stdin, stdout and stderr devices
+ var stdin = FS.open('/dev/stdin', 0);
+ var stdout = FS.open('/dev/stdout', 1);
+ var stderr = FS.open('/dev/stderr', 1);
+ },ensureErrnoError:function() {
+ if (FS.ErrnoError) return;
+ FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) {
+ this.node = node;
+ this.setErrno = /** @this{Object} */ function(errno) {
+ this.errno = errno;
+ };
+ this.setErrno(errno);
+ this.message = 'FS error';
+
+ };
+ FS.ErrnoError.prototype = new Error();
+ FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+ // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
+ [44].forEach(function(code) {
+ FS.genericErrors[code] = new FS.ErrnoError(code);
+ FS.genericErrors[code].stack = '';
+ });
+ },staticInit:function() {
+ FS.ensureErrnoError();
+
+ FS.nameTable = new Array(4096);
+
+ FS.mount(MEMFS, {}, '/');
+
+ FS.createDefaultDirectories();
+ FS.createDefaultDevices();
+ FS.createSpecialDirectories();
+
+ FS.filesystems = {
+ 'MEMFS': MEMFS,
+ };
+ },init:function(input, output, error) {
+ FS.init.initialized = true;
+
+ FS.ensureErrnoError();
+
+ // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
+ Module['stdin'] = input || Module['stdin'];
+ Module['stdout'] = output || Module['stdout'];
+ Module['stderr'] = error || Module['stderr'];
+
+ FS.createStandardStreams();
+ },quit:function() {
+ FS.init.initialized = false;
+ // force-flush all streams, so we get musl std streams printed out
+ var fflush = Module['_fflush'];
+ if (fflush) fflush(0);
+ // close all of our streams
+ for (var i = 0; i < FS.streams.length; i++) {
+ var stream = FS.streams[i];
+ if (!stream) {
+ continue;
+ }
+ FS.close(stream);
+ }
+ },getMode:function(canRead, canWrite) {
+ var mode = 0;
+ if (canRead) mode |= 292 | 73;
+ if (canWrite) mode |= 146;
+ return mode;
+ },findObject:function(path, dontResolveLastLink) {
+ var ret = FS.analyzePath(path, dontResolveLastLink);
+ if (ret.exists) {
+ return ret.object;
+ } else {
+ return null;
+ }
+ },analyzePath:function(path, dontResolveLastLink) {
+ // operate from within the context of the symlink's target
+ 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:function(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) {
+ // ignore EEXIST
+ }
+ parent = current;
+ }
+ return current;
+ },createFile:function(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:function(parent, name, data, canRead, canWrite, canOwn) {
+ var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
+ var mode = FS.getMode(canRead, canWrite);
+ var node = FS.create(path, mode);
+ if (data) {
+ if (typeof data === 'string') {
+ var arr = new Array(data.length);
+ for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
+ data = arr;
+ }
+ // make sure we can write to the file
+ FS.chmod(node, mode | 146);
+ var stream = FS.open(node, 577);
+ FS.write(stream, data, 0, data.length, 0, canOwn);
+ FS.close(stream);
+ FS.chmod(node, mode);
+ }
+ return node;
+ },createDevice:function(parent, name, input, output) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(!!input, !!output);
+ if (!FS.createDevice.major) FS.createDevice.major = 64;
+ var dev = FS.makedev(FS.createDevice.major++, 0);
+ // Create a fake device that a set of stream ops to emulate
+ // the old behavior.
+ FS.registerDevice(dev, {
+ open: function(stream) {
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ // flush any pending line data
+ if (output && output.buffer && output.buffer.length) {
+ output(10);
+ }
+ },
+ read: function(stream, buffer, offset, length, pos /* ignored */) {
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = input();
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(6);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset+i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ for (var i = 0; i < length; i++) {
+ try {
+ output(buffer[offset+i]);
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ });
+ return FS.mkdev(path, mode, dev);
+ },forceLoadFile:function(obj) {
+ if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
+ if (typeof XMLHttpRequest !== 'undefined') {
+ throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
+ } else if (read_) {
+ // Command-line.
+ try {
+ // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
+ // read() will try to parse UTF8.
+ obj.contents = intArrayFromString(read_(obj.url), true);
+ obj.usedBytes = obj.contents.length;
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ } else {
+ throw new Error('Cannot load without read() or XMLHttpRequest.');
+ }
+ },createLazyFile:function(parent, name, url, canRead, canWrite) {
+ // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
+ /** @constructor */
+ function LazyUint8Array() {
+ this.lengthKnown = false;
+ this.chunks = []; // Loaded chunks. Index is the chunk number
+ }
+ LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) {
+ if (idx > this.length-1 || idx < 0) {
+ return undefined;
+ }
+ var chunkOffset = idx % this.chunkSize;
+ var chunkNum = (idx / this.chunkSize)|0;
+ return this.getter(chunkNum)[chunkOffset];
+ };
+ LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
+ this.getter = getter;
+ };
+ LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
+ // Find length
+ 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; // Chunk size in bytes
+
+ if (!hasByteServing) chunkSize = datalength;
+
+ // Function to get a range from the remote URL.
+ var doXHR = (function(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!");
+
+ // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+
+ // Some hints to the browser that we want binary data.
+ if (typeof Uint8Array != 'undefined') 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(/** @type{Array} */(xhr.response || []));
+ } else {
+ return intArrayFromString(xhr.responseText || '', true);
+ }
+ });
+ var lazyArray = this;
+ lazyArray.setDataGetter(function(chunkNum) {
+ var start = chunkNum * chunkSize;
+ var end = (chunkNum+1) * chunkSize - 1; // including this byte
+ end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
+ 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) {
+ // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
+ chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
+ 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;
+ };
+ 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();
+ Object.defineProperties(lazyArray, {
+ length: {
+ get: /** @this{Object} */ function() {
+ if (!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._length;
+ }
+ },
+ chunkSize: {
+ get: /** @this{Object} */ function() {
+ if (!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._chunkSize;
+ }
+ }
+ });
+
+ var properties = { isDevice: false, contents: lazyArray };
+ } else {
+ var properties = { isDevice: false, url: url };
+ }
+
+ var node = FS.createFile(parent, name, properties, canRead, canWrite);
+ // This is a total hack, but I want to get this lazy file code out of the
+ // core of MEMFS. If we want to keep this lazy file concept I feel it should
+ // be its own thin LAZYFS proxying calls to MEMFS.
+ if (properties.contents) {
+ node.contents = properties.contents;
+ } else if (properties.url) {
+ node.contents = null;
+ node.url = properties.url;
+ }
+ // Add a function that defers querying the file size until it is asked the first time.
+ Object.defineProperties(node, {
+ usedBytes: {
+ get: /** @this {FSNode} */ function() { return this.contents.length; }
+ }
+ });
+ // override each stream op with one that tries to force load the lazy file first
+ var stream_ops = {};
+ var keys = Object.keys(node.stream_ops);
+ keys.forEach(function(key) {
+ var fn = node.stream_ops[key];
+ stream_ops[key] = function forceLoadLazyFile() {
+ FS.forceLoadFile(node);
+ return fn.apply(null, arguments);
+ };
+ });
+ // use a custom read function
+ stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
+ FS.forceLoadFile(node);
+ var contents = stream.node.contents;
+ if (position >= contents.length)
+ return 0;
+ var size = Math.min(contents.length - position, length);
+ if (contents.slice) { // normal array
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents[position + i];
+ }
+ } else {
+ for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
+ buffer[offset + i] = contents.get(position + i);
+ }
+ }
+ return size;
+ };
+ node.stream_ops = stream_ops;
+ return node;
+ },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+ Browser.init(); // XXX perhaps this method should move onto Browser?
+ // TODO we should allow people to just pass in a complete filename instead
+ // of parent and name being that we just join them anyways
+ var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
+ var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
+ function processData(byteArray) {
+ function finish(byteArray) {
+ if (preFinish) preFinish();
+ if (!dontCreateFile) {
+ FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+ }
+ if (onload) onload();
+ removeRunDependency(dep);
+ }
+ var handled = false;
+ Module['preloadPlugins'].forEach(function(plugin) {
+ if (handled) return;
+ if (plugin['canHandle'](fullname)) {
+ plugin['handle'](byteArray, fullname, finish, function() {
+ if (onerror) onerror();
+ removeRunDependency(dep);
+ });
+ handled = true;
+ }
+ });
+ if (!handled) finish(byteArray);
+ }
+ addRunDependency(dep);
+ if (typeof url == 'string') {
+ Browser.asyncLoad(url, function(byteArray) {
+ processData(byteArray);
+ }, onerror);
+ } else {
+ processData(url);
+ }
+ },indexedDB:function() {
+ return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ },DB_NAME:function() {
+ return 'EM_FS_' + window.location.pathname;
+ },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) {
+ onload = onload || function(){};
+ onerror = onerror || function(){};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+ out('creating db');
+ var db = openRequest.result;
+ db.createObjectStore(FS.DB_STORE_NAME);
+ };
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+ putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
+ putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ },loadFilesFromDB:function(paths, onload, onerror) {
+ onload = onload || function(){};
+ onerror = onerror || function(){};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = onerror; // no database to load from
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ try {
+ var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
+ } catch(e) {
+ onerror(e);
+ return;
+ }
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var getRequest = files.get(path);
+ getRequest.onsuccess = function getRequest_onsuccess() {
+ if (FS.analyzePath(path).exists) {
+ FS.unlink(path);
+ }
+ FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ }};
+ var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path, allowEmpty) {
+ if (path[0] === '/') {
+ return path;
+ }
+ // relative path
+ var dir;
+ if (dirfd === -100) {
+ dir = FS.cwd();
+ } else {
+ var dirstream = FS.getStream(dirfd);
+ if (!dirstream) throw new FS.ErrnoError(8);
+ dir = dirstream.path;
+ }
+ if (path.length == 0) {
+ if (!allowEmpty) {
+ throw new FS.ErrnoError(44);;
+ }
+ return dir;
+ }
+ return PATH.join2(dir, path);
+ },doStat:function(func, path, buf) {
+ try {
+ var stat = func(path);
+ } catch (e) {
+ if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
+ // an error occurred while trying to look up the path; we should just report ENOTDIR
+ return -54;
+ }
+ throw e;
+ }
+ HEAP32[((buf)>>2)] = stat.dev;
+ HEAP32[(((buf)+(4))>>2)] = 0;
+ HEAP32[(((buf)+(8))>>2)] = stat.ino;
+ HEAP32[(((buf)+(12))>>2)] = stat.mode;
+ HEAP32[(((buf)+(16))>>2)] = stat.nlink;
+ HEAP32[(((buf)+(20))>>2)] = stat.uid;
+ HEAP32[(((buf)+(24))>>2)] = stat.gid;
+ HEAP32[(((buf)+(28))>>2)] = stat.rdev;
+ HEAP32[(((buf)+(32))>>2)] = 0;
+ (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]);
+ HEAP32[(((buf)+(48))>>2)] = 4096;
+ HEAP32[(((buf)+(52))>>2)] = stat.blocks;
+ HEAP32[(((buf)+(56))>>2)] = (stat.atime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(60))>>2)] = 0;
+ HEAP32[(((buf)+(64))>>2)] = (stat.mtime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(68))>>2)] = 0;
+ HEAP32[(((buf)+(72))>>2)] = (stat.ctime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(76))>>2)] = 0;
+ (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)] = tempI64[0],HEAP32[(((buf)+(84))>>2)] = tempI64[1]);
+ return 0;
+ },doMsync:function(addr, stream, len, flags, offset) {
+ var buffer = HEAPU8.slice(addr, addr + len);
+ FS.msync(stream, buffer, offset, len, flags);
+ },doMkdir:function(path, mode) {
+ // remove a trailing slash, if one - /a/b/ has basename of '', but
+ // we want to create b in the context of this function
+ path = PATH.normalize(path);
+ if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
+ FS.mkdir(path, mode, 0);
+ return 0;
+ },doMknod:function(path, mode, dev) {
+ // we don't want this in the JS API as it uses mknod to create all nodes.
+ switch (mode & 61440) {
+ case 32768:
+ case 8192:
+ case 24576:
+ case 4096:
+ case 49152:
+ break;
+ default: return -28;
+ }
+ FS.mknod(path, mode, dev);
+ return 0;
+ },doReadlink:function(path, buf, bufsize) {
+ if (bufsize <= 0) return -28;
+ var ret = FS.readlink(path);
+
+ var len = Math.min(bufsize, lengthBytesUTF8(ret));
+ var endChar = HEAP8[buf+len];
+ stringToUTF8(ret, buf, bufsize+1);
+ // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!)
+ // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write.
+ HEAP8[buf+len] = endChar;
+
+ return len;
+ },doAccess:function(path, amode) {
+ if (amode & ~7) {
+ // need a valid mode
+ return -28;
+ }
+ var node;
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ if (!node) {
+ return -44;
+ }
+ var perms = '';
+ if (amode & 4) perms += 'r';
+ if (amode & 2) perms += 'w';
+ if (amode & 1) perms += 'x';
+ if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
+ return -2;
+ }
+ return 0;
+ },doDup:function(path, flags, suggestFD) {
+ var suggest = FS.getStream(suggestFD);
+ if (suggest) FS.close(suggest);
+ return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
+ },doReadv:function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(((iov)+(i*8))>>2)];
+ var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
+ var curr = FS.read(stream, HEAP8,ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ if (curr < len) break; // nothing more to read
+ }
+ return ret;
+ },doWritev:function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(((iov)+(i*8))>>2)];
+ var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
+ var curr = FS.write(stream, HEAP8,ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ }
+ return ret;
+ },varargs:undefined,get:function() {
+ SYSCALLS.varargs += 4;
+ var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
+ return ret;
+ },getStr:function(ptr) {
+ var ret = UTF8ToString(ptr);
+ return ret;
+ },getStreamFromFD:function(fd) {
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(8);
+ return stream;
+ },get64:function(low, high) {
+ return low;
+ }};
+ function ___sys_access(path, amode) {try {
+
+ path = SYSCALLS.getStr(path);
+ return SYSCALLS.doAccess(path, amode);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_chdir(path) {try {
+
+ path = SYSCALLS.getStr(path);
+ FS.chdir(path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_chmod(path, mode) {try {
+
+ path = SYSCALLS.getStr(path);
+ FS.chmod(path, mode);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_chown32(path, owner, group) {try {
+
+ path = SYSCALLS.getStr(path);
+ FS.chown(path, owner, group);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};
+ var SOCKFS={mount:function(mount) {
+ // If Module['websocket'] has already been defined (e.g. for configuring
+ // the subprotocol/url) use that, if not initialise it to a new object.
+ Module['websocket'] = (Module['websocket'] &&
+ ('object' === typeof Module['websocket'])) ? Module['websocket'] : {};
+
+ // Add the Event registration mechanism to the exported websocket configuration
+ // object so we can register network callbacks from native JavaScript too.
+ // For more documentation see system/include/emscripten/emscripten.h
+ Module['websocket']._callbacks = {};
+ Module['websocket']['on'] = /** @this{Object} */ function(event, callback) {
+ if ('function' === typeof callback) {
+ this._callbacks[event] = callback;
+ }
+ return this;
+ };
+
+ Module['websocket'].emit = /** @this{Object} */ function(event, param) {
+ if ('function' === typeof this._callbacks[event]) {
+ this._callbacks[event].call(this, param);
+ }
+ };
+
+ // If debug is enabled register simple default logging callbacks for each Event.
+
+ return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
+ },createSocket:function(family, type, protocol) {
+ type &= ~526336; // Some applications may pass it; it makes no sense for a single process.
+ var streaming = type == 1;
+ if (protocol) {
+ assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp
+ }
+
+ // create our internal socket structure
+ var sock = {
+ family: family,
+ type: type,
+ protocol: protocol,
+ server: null,
+ error: null, // Used in getsockopt for SOL_SOCKET/SO_ERROR test
+ peers: {},
+ pending: [],
+ recv_queue: [],
+ sock_ops: SOCKFS.websocket_sock_ops
+ };
+
+ // create the filesystem node to store the socket structure
+ var name = SOCKFS.nextname();
+ var node = FS.createNode(SOCKFS.root, name, 49152, 0);
+ node.sock = sock;
+
+ // and the wrapping stream that enables library functions such
+ // as read and write to indirectly interact with the socket
+ var stream = FS.createStream({
+ path: name,
+ node: node,
+ flags: 2,
+ seekable: false,
+ stream_ops: SOCKFS.stream_ops
+ });
+
+ // map the new stream to the socket structure (sockets have a 1:1
+ // relationship with a stream)
+ sock.stream = stream;
+
+ return sock;
+ },getSocket:function(fd) {
+ var stream = FS.getStream(fd);
+ if (!stream || !FS.isSocket(stream.node.mode)) {
+ return null;
+ }
+ return stream.node.sock;
+ },stream_ops:{poll:function(stream) {
+ var sock = stream.node.sock;
+ return sock.sock_ops.poll(sock);
+ },ioctl:function(stream, request, varargs) {
+ var sock = stream.node.sock;
+ return sock.sock_ops.ioctl(sock, request, varargs);
+ },read:function(stream, buffer, offset, length, position /* ignored */) {
+ var sock = stream.node.sock;
+ var msg = sock.sock_ops.recvmsg(sock, length);
+ if (!msg) {
+ // socket is closed
+ return 0;
+ }
+ buffer.set(msg.buffer, offset);
+ return msg.buffer.length;
+ },write:function(stream, buffer, offset, length, position /* ignored */) {
+ var sock = stream.node.sock;
+ return sock.sock_ops.sendmsg(sock, buffer, offset, length);
+ },close:function(stream) {
+ var sock = stream.node.sock;
+ sock.sock_ops.close(sock);
+ }},nextname:function() {
+ if (!SOCKFS.nextname.current) {
+ SOCKFS.nextname.current = 0;
+ }
+ return 'socket[' + (SOCKFS.nextname.current++) + ']';
+ },websocket_sock_ops:{createPeer:function(sock, addr, port) {
+ var ws;
+
+ if (typeof addr === 'object') {
+ ws = addr;
+ addr = null;
+ port = null;
+ }
+
+ if (ws) {
+ // for sockets that've already connected (e.g. we're the server)
+ // we can inspect the _socket property for the address
+ if (ws._socket) {
+ addr = ws._socket.remoteAddress;
+ port = ws._socket.remotePort;
+ }
+ // if we're just now initializing a connection to the remote,
+ // inspect the url property
+ else {
+ var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);
+ if (!result) {
+ throw new Error('WebSocket URL must be in the format ws(s)://address:port');
+ }
+ addr = result[1];
+ port = parseInt(result[2], 10);
+ }
+ } else {
+ // create the actual websocket object and connect
+ try {
+ // runtimeConfig gets set to true if WebSocket runtime configuration is available.
+ var runtimeConfig = (Module['websocket'] && ('object' === typeof Module['websocket']));
+
+ // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#'
+ // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again.
+ var url = 'ws:#'.replace('#', '//');
+
+ if (runtimeConfig) {
+ if ('string' === typeof Module['websocket']['url']) {
+ url = Module['websocket']['url']; // Fetch runtime WebSocket URL config.
+ }
+ }
+
+ if (url === 'ws://' || url === 'wss://') { // Is the supplied URL config just a prefix, if so complete it.
+ var parts = addr.split('/');
+ url = url + parts[0] + ":" + port + "/" + parts.slice(1).join('/');
+ }
+
+ // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set.
+ var subProtocols = 'binary'; // The default value is 'binary'
+
+ if (runtimeConfig) {
+ if ('string' === typeof Module['websocket']['subprotocol']) {
+ subProtocols = Module['websocket']['subprotocol']; // Fetch runtime WebSocket subprotocol config.
+ }
+ }
+
+ // The default WebSocket options
+ var opts = undefined;
+
+ if (subProtocols !== 'null') {
+ // The regex trims the string (removes spaces at the beginning and end, then splits the string by
+ // , into an Array. Whitespace removal is important for Websockify and ws.
+ subProtocols = subProtocols.replace(/^ +| +$/g,"").split(/ *, */);
+
+ // The node ws library API for specifying optional subprotocol is slightly different than the browser's.
+ opts = ENVIRONMENT_IS_NODE ? {'protocol': subProtocols.toString()} : subProtocols;
+ }
+
+ // some webservers (azure) does not support subprotocol header
+ if (runtimeConfig && null === Module['websocket']['subprotocol']) {
+ subProtocols = 'null';
+ opts = undefined;
+ }
+
+ // If node we use the ws library.
+ var WebSocketConstructor;
+ if (ENVIRONMENT_IS_NODE) {
+ WebSocketConstructor = /** @type{(typeof WebSocket)} */(require('ws'));
+ } else
+ {
+ WebSocketConstructor = WebSocket;
+ }
+ ws = new WebSocketConstructor(url, opts);
+ ws.binaryType = 'arraybuffer';
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH);
+ }
+ }
+
+ var peer = {
+ addr: addr,
+ port: port,
+ socket: ws,
+ dgram_send_queue: []
+ };
+
+ SOCKFS.websocket_sock_ops.addPeer(sock, peer);
+ SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer);
+
+ // if this is a bound dgram socket, send the port number first to allow
+ // us to override the ephemeral port reported to us by remotePort on the
+ // remote end.
+ if (sock.type === 2 && typeof sock.sport !== 'undefined') {
+ peer.dgram_send_queue.push(new Uint8Array([
+ 255, 255, 255, 255,
+ 'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0),
+ ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff)
+ ]));
+ }
+
+ return peer;
+ },getPeer:function(sock, addr, port) {
+ return sock.peers[addr + ':' + port];
+ },addPeer:function(sock, peer) {
+ sock.peers[peer.addr + ':' + peer.port] = peer;
+ },removePeer:function(sock, peer) {
+ delete sock.peers[peer.addr + ':' + peer.port];
+ },handlePeerEvents:function(sock, peer) {
+ var first = true;
+
+ var handleOpen = function () {
+
+ Module['websocket'].emit('open', sock.stream.fd);
+
+ try {
+ var queued = peer.dgram_send_queue.shift();
+ while (queued) {
+ peer.socket.send(queued);
+ queued = peer.dgram_send_queue.shift();
+ }
+ } catch (e) {
+ // not much we can do here in the way of proper error handling as we've already
+ // lied and said this data was sent. shut it down.
+ peer.socket.close();
+ }
+ };
+
+ function handleMessage(data) {
+ if (typeof data === 'string') {
+ var encoder = new TextEncoder(); // should be utf-8
+ data = encoder.encode(data); // make a typed array from the string
+ } else {
+ assert(data.byteLength !== undefined); // must receive an ArrayBuffer
+ if (data.byteLength == 0) {
+ // An empty ArrayBuffer will emit a pseudo disconnect event
+ // as recv/recvmsg will return zero which indicates that a socket
+ // has performed a shutdown although the connection has not been disconnected yet.
+ return;
+ } else {
+ data = new Uint8Array(data); // make a typed array view on the array buffer
+ }
+ }
+
+ // if this is the port message, override the peer's port with it
+ var wasfirst = first;
+ first = false;
+ if (wasfirst &&
+ data.length === 10 &&
+ data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 &&
+ data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) {
+ // update the peer's port and it's key in the peer map
+ var newport = ((data[8] << 8) | data[9]);
+ SOCKFS.websocket_sock_ops.removePeer(sock, peer);
+ peer.port = newport;
+ SOCKFS.websocket_sock_ops.addPeer(sock, peer);
+ return;
+ }
+
+ sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data });
+ Module['websocket'].emit('message', sock.stream.fd);
+ };
+
+ if (ENVIRONMENT_IS_NODE) {
+ peer.socket.on('open', handleOpen);
+ peer.socket.on('message', function(data, flags) {
+ if (!flags.binary) {
+ return;
+ }
+ handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer
+ });
+ peer.socket.on('close', function() {
+ Module['websocket'].emit('close', sock.stream.fd);
+ });
+ peer.socket.on('error', function(error) {
+ // Although the ws library may pass errors that may be more descriptive than
+ // ECONNREFUSED they are not necessarily the expected error code e.g.
+ // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED
+ // is still probably the most useful thing to do.
+ sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test.
+ Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']);
+ // don't throw
+ });
+ } else {
+ peer.socket.onopen = handleOpen;
+ peer.socket.onclose = function() {
+ Module['websocket'].emit('close', sock.stream.fd);
+ };
+ peer.socket.onmessage = function peer_socket_onmessage(event) {
+ handleMessage(event.data);
+ };
+ peer.socket.onerror = function(error) {
+ // The WebSocket spec only allows a 'simple event' to be thrown on error,
+ // so we only really know as much as ECONNREFUSED.
+ sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test.
+ Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']);
+ };
+ }
+ },poll:function(sock) {
+ if (sock.type === 1 && sock.server) {
+ // listen sockets should only say they're available for reading
+ // if there are pending clients.
+ return sock.pending.length ? (64 | 1) : 0;
+ }
+
+ var mask = 0;
+ var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets
+ SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) :
+ null;
+
+ if (sock.recv_queue.length ||
+ !dest || // connection-less sockets are always ready to read
+ (dest && dest.socket.readyState === dest.socket.CLOSING) ||
+ (dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed
+ mask |= (64 | 1);
+ }
+
+ if (!dest || // connection-less sockets are always ready to write
+ (dest && dest.socket.readyState === dest.socket.OPEN)) {
+ mask |= 4;
+ }
+
+ if ((dest && dest.socket.readyState === dest.socket.CLOSING) ||
+ (dest && dest.socket.readyState === dest.socket.CLOSED)) {
+ mask |= 16;
+ }
+
+ return mask;
+ },ioctl:function(sock, request, arg) {
+ switch (request) {
+ case 21531:
+ var bytes = 0;
+ if (sock.recv_queue.length) {
+ bytes = sock.recv_queue[0].data.length;
+ }
+ HEAP32[((arg)>>2)] = bytes;
+ return 0;
+ default:
+ return ERRNO_CODES.EINVAL;
+ }
+ },close:function(sock) {
+ // if we've spawned a listen server, close it
+ if (sock.server) {
+ try {
+ sock.server.close();
+ } catch (e) {
+ }
+ sock.server = null;
+ }
+ // close any peer connections
+ var peers = Object.keys(sock.peers);
+ for (var i = 0; i < peers.length; i++) {
+ var peer = sock.peers[peers[i]];
+ try {
+ peer.socket.close();
+ } catch (e) {
+ }
+ SOCKFS.websocket_sock_ops.removePeer(sock, peer);
+ }
+ return 0;
+ },bind:function(sock, addr, port) {
+ if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound
+ }
+ sock.saddr = addr;
+ sock.sport = port;
+ // in order to emulate dgram sockets, we need to launch a listen server when
+ // binding on a connection-less socket
+ // note: this is only required on the server side
+ if (sock.type === 2) {
+ // close the existing server if it exists
+ if (sock.server) {
+ sock.server.close();
+ sock.server = null;
+ }
+ // swallow error operation not supported error that occurs when binding in the
+ // browser where this isn't supported
+ try {
+ sock.sock_ops.listen(sock, 0);
+ } catch (e) {
+ if (!(e instanceof FS.ErrnoError)) throw e;
+ if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e;
+ }
+ }
+ },connect:function(sock, addr, port) {
+ if (sock.server) {
+ throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
+ }
+
+ // TODO autobind
+ // if (!sock.addr && sock.type == 2) {
+ // }
+
+ // early out if we're already connected / in the middle of connecting
+ if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') {
+ var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
+ if (dest) {
+ if (dest.socket.readyState === dest.socket.CONNECTING) {
+ throw new FS.ErrnoError(ERRNO_CODES.EALREADY);
+ } else {
+ throw new FS.ErrnoError(ERRNO_CODES.EISCONN);
+ }
+ }
+ }
+
+ // add the socket to our peer list and set our
+ // destination address / port to match
+ var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
+ sock.daddr = peer.addr;
+ sock.dport = peer.port;
+
+ // always "fail" in non-blocking mode
+ throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS);
+ },listen:function(sock, backlog) {
+ if (!ENVIRONMENT_IS_NODE) {
+ throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
+ }
+ if (sock.server) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening
+ }
+ var WebSocketServer = require('ws').Server;
+ var host = sock.saddr;
+ sock.server = new WebSocketServer({
+ host: host,
+ port: sock.sport
+ // TODO support backlog
+ });
+ Module['websocket'].emit('listen', sock.stream.fd); // Send Event with listen fd.
+
+ sock.server.on('connection', function(ws) {
+ if (sock.type === 1) {
+ var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol);
+
+ // create a peer on the new socket
+ var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws);
+ newsock.daddr = peer.addr;
+ newsock.dport = peer.port;
+
+ // push to queue for accept to pick up
+ sock.pending.push(newsock);
+ Module['websocket'].emit('connection', newsock.stream.fd);
+ } else {
+ // create a peer on the listen socket so calling sendto
+ // with the listen socket and an address will resolve
+ // to the correct client
+ SOCKFS.websocket_sock_ops.createPeer(sock, ws);
+ Module['websocket'].emit('connection', sock.stream.fd);
+ }
+ });
+ sock.server.on('closed', function() {
+ Module['websocket'].emit('close', sock.stream.fd);
+ sock.server = null;
+ });
+ sock.server.on('error', function(error) {
+ // Although the ws library may pass errors that may be more descriptive than
+ // ECONNREFUSED they are not necessarily the expected error code e.g.
+ // ENOTFOUND on getaddrinfo seems to be node.js specific, so using EHOSTUNREACH
+ // is still probably the most useful thing to do. This error shouldn't
+ // occur in a well written app as errors should get trapped in the compiled
+ // app's own getaddrinfo call.
+ sock.error = ERRNO_CODES.EHOSTUNREACH; // Used in getsockopt for SOL_SOCKET/SO_ERROR test.
+ Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'EHOSTUNREACH: Host is unreachable']);
+ // don't throw
+ });
+ },accept:function(listensock) {
+ if (!listensock.server) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var newsock = listensock.pending.shift();
+ newsock.stream.flags = listensock.stream.flags;
+ return newsock;
+ },getname:function(sock, peer) {
+ var addr, port;
+ if (peer) {
+ if (sock.daddr === undefined || sock.dport === undefined) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
+ }
+ addr = sock.daddr;
+ port = sock.dport;
+ } else {
+ // TODO saddr and sport will be set for bind()'d UDP sockets, but what
+ // should we be returning for TCP sockets that've been connect()'d?
+ addr = sock.saddr || 0;
+ port = sock.sport || 0;
+ }
+ return { addr: addr, port: port };
+ },sendmsg:function(sock, buffer, offset, length, addr, port) {
+ if (sock.type === 2) {
+ // connection-less sockets will honor the message address,
+ // and otherwise fall back to the bound destination address
+ if (addr === undefined || port === undefined) {
+ addr = sock.daddr;
+ port = sock.dport;
+ }
+ // if there was no address to fall back to, error out
+ if (addr === undefined || port === undefined) {
+ throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ);
+ }
+ } else {
+ // connection-based sockets will only use the bound
+ addr = sock.daddr;
+ port = sock.dport;
+ }
+
+ // find the peer for the destination address
+ var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port);
+
+ // early out if not connected with a connection-based socket
+ if (sock.type === 1) {
+ if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
+ } else if (dest.socket.readyState === dest.socket.CONNECTING) {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ }
+
+ // create a copy of the incoming data to send, as the WebSocket API
+ // doesn't work entirely with an ArrayBufferView, it'll just send
+ // the entire underlying buffer
+ if (ArrayBuffer.isView(buffer)) {
+ offset += buffer.byteOffset;
+ buffer = buffer.buffer;
+ }
+
+ var data;
+ data = buffer.slice(offset, offset + length);
+
+ // if we're emulating a connection-less dgram socket and don't have
+ // a cached connection, queue the buffer to send upon connect and
+ // lie, saying the data was sent now.
+ if (sock.type === 2) {
+ if (!dest || dest.socket.readyState !== dest.socket.OPEN) {
+ // if we're not connected, open a new connection
+ if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
+ dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
+ }
+ dest.dgram_send_queue.push(data);
+ return length;
+ }
+ }
+
+ try {
+ // send the actual data
+ dest.socket.send(data);
+ return length;
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ },recvmsg:function(sock, length) {
+ // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html
+ if (sock.type === 1 && sock.server) {
+ // tcp servers should not be recv()'ing on the listen socket
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
+ }
+
+ var queued = sock.recv_queue.shift();
+ if (!queued) {
+ if (sock.type === 1) {
+ var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
+
+ if (!dest) {
+ // if we have a destination address but are not connected, error out
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
+ }
+ else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
+ // return null if the socket has closed
+ return null;
+ }
+ else {
+ // else, our socket is in a valid state but truly has nothing available
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ } else {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ }
+
+ // queued.data will be an ArrayBuffer if it's unadulterated, but if it's
+ // requeued TCP data it'll be an ArrayBufferView
+ var queuedLength = queued.data.byteLength || queued.data.length;
+ var queuedOffset = queued.data.byteOffset || 0;
+ var queuedBuffer = queued.data.buffer || queued.data;
+ var bytesRead = Math.min(length, queuedLength);
+ var res = {
+ buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead),
+ addr: queued.addr,
+ port: queued.port
+ };
+
+ // push back any unread data for TCP connections
+ if (sock.type === 1 && bytesRead < queuedLength) {
+ var bytesRemaining = queuedLength - bytesRead;
+ queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining);
+ sock.recv_queue.unshift(queued);
+ }
+
+ return res;
+ }}};
+ function getSocketFromFD(fd) {
+ var socket = SOCKFS.getSocket(fd);
+ if (!socket) throw new FS.ErrnoError(8);
+ return socket;
+ }
+
+ var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};
+
+ function inetNtop4(addr) {
+ return (addr & 0xff) + '.' + ((addr >> 8) & 0xff) + '.' + ((addr >> 16) & 0xff) + '.' + ((addr >> 24) & 0xff)
+ }
+
+ function inetNtop6(ints) {
+ // ref: http://www.ietf.org/rfc/rfc2373.txt - section 2.5.4
+ // Format for IPv4 compatible and mapped 128-bit IPv6 Addresses
+ // 128-bits are split into eight 16-bit words
+ // stored in network byte order (big-endian)
+ // | 80 bits | 16 | 32 bits |
+ // +-----------------------------------------------------------------+
+ // | 10 bytes | 2 | 4 bytes |
+ // +--------------------------------------+--------------------------+
+ // + 5 words | 1 | 2 words |
+ // +--------------------------------------+--------------------------+
+ // |0000..............................0000|0000| IPv4 ADDRESS | (compatible)
+ // +--------------------------------------+----+---------------------+
+ // |0000..............................0000|FFFF| IPv4 ADDRESS | (mapped)
+ // +--------------------------------------+----+---------------------+
+ var str = "";
+ var word = 0;
+ var longest = 0;
+ var lastzero = 0;
+ var zstart = 0;
+ var len = 0;
+ var i = 0;
+ var parts = [
+ ints[0] & 0xffff,
+ (ints[0] >> 16),
+ ints[1] & 0xffff,
+ (ints[1] >> 16),
+ ints[2] & 0xffff,
+ (ints[2] >> 16),
+ ints[3] & 0xffff,
+ (ints[3] >> 16)
+ ];
+
+ // Handle IPv4-compatible, IPv4-mapped, loopback and any/unspecified addresses
+
+ var hasipv4 = true;
+ var v4part = "";
+ // check if the 10 high-order bytes are all zeros (first 5 words)
+ for (i = 0; i < 5; i++) {
+ if (parts[i] !== 0) { hasipv4 = false; break; }
+ }
+
+ if (hasipv4) {
+ // low-order 32-bits store an IPv4 address (bytes 13 to 16) (last 2 words)
+ v4part = inetNtop4(parts[6] | (parts[7] << 16));
+ // IPv4-mapped IPv6 address if 16-bit value (bytes 11 and 12) == 0xFFFF (6th word)
+ if (parts[5] === -1) {
+ str = "::ffff:";
+ str += v4part;
+ return str;
+ }
+ // IPv4-compatible IPv6 address if 16-bit value (bytes 11 and 12) == 0x0000 (6th word)
+ if (parts[5] === 0) {
+ str = "::";
+ //special case IPv6 addresses
+ if (v4part === "0.0.0.0") v4part = ""; // any/unspecified address
+ if (v4part === "0.0.0.1") v4part = "1";// loopback address
+ str += v4part;
+ return str;
+ }
+ }
+
+ // Handle all other IPv6 addresses
+
+ // first run to find the longest contiguous zero words
+ for (word = 0; word < 8; word++) {
+ if (parts[word] === 0) {
+ if (word - lastzero > 1) {
+ len = 0;
+ }
+ lastzero = word;
+ len++;
+ }
+ if (len > longest) {
+ longest = len;
+ zstart = word - longest + 1;
+ }
+ }
+
+ for (word = 0; word < 8; word++) {
+ if (longest > 1) {
+ // compress contiguous zeros - to produce "::"
+ if (parts[word] === 0 && word >= zstart && word < (zstart + longest) ) {
+ if (word === zstart) {
+ str += ":";
+ if (zstart === 0) str += ":"; //leading zeros case
+ }
+ continue;
+ }
+ }
+ // converts 16-bit words from big-endian to little-endian before converting to hex string
+ str += Number(_ntohs(parts[word] & 0xffff)).toString(16);
+ str += word < 7 ? ":" : "";
+ }
+ return str;
+ }
+ function readSockaddr(sa, salen) {
+ // family / port offsets are common to both sockaddr_in and sockaddr_in6
+ var family = HEAP16[((sa)>>1)];
+ var port = _ntohs(HEAPU16[(((sa)+(2))>>1)]);
+ var addr;
+
+ switch (family) {
+ case 2:
+ if (salen !== 16) {
+ return { errno: 28 };
+ }
+ addr = HEAP32[(((sa)+(4))>>2)];
+ addr = inetNtop4(addr);
+ break;
+ case 10:
+ if (salen !== 28) {
+ return { errno: 28 };
+ }
+ addr = [
+ HEAP32[(((sa)+(8))>>2)],
+ HEAP32[(((sa)+(12))>>2)],
+ HEAP32[(((sa)+(16))>>2)],
+ HEAP32[(((sa)+(20))>>2)]
+ ];
+ addr = inetNtop6(addr);
+ break;
+ default:
+ return { errno: 5 };
+ }
+
+ return { family: family, addr: addr, port: port };
+ }
+ function getSocketAddress(addrp, addrlen, allowNull) {
+ if (allowNull && addrp === 0) return null;
+ var info = readSockaddr(addrp, addrlen);
+ if (info.errno) throw new FS.ErrnoError(info.errno);
+ info.addr = DNS.lookup_addr(info.addr) || info.addr;
+ return info;
+ }
+ function ___sys_connect(fd, addr, addrlen) {try {
+
+ var sock = getSocketFromFD(fd);
+ var info = getSocketAddress(addr, addrlen);
+ sock.sock_ops.connect(sock, info.addr, info.port);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_fadvise64_64(fd, offset, len, advice) {
+ return 0; // your advice is important to us (but we can't use it)
+ }
+
+ function ___sys_fchmod(fd, mode) {try {
+
+ FS.fchmod(fd, mode);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_fchown32(fd, owner, group) {try {
+
+ FS.fchown(fd, owner, group);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs;
+ try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ switch (cmd) {
+ case 0: {
+ var arg = SYSCALLS.get();
+ if (arg < 0) {
+ return -28;
+ }
+ var newStream;
+ newStream = FS.open(stream.path, stream.flags, 0, arg);
+ return newStream.fd;
+ }
+ case 1:
+ case 2:
+ return 0; // FD_CLOEXEC makes no sense for a single process.
+ case 3:
+ return stream.flags;
+ case 4: {
+ var arg = SYSCALLS.get();
+ stream.flags |= arg;
+ return 0;
+ }
+ case 12:
+ /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ {
+
+ var arg = SYSCALLS.get();
+ var offset = 0;
+ // We're always unlocked.
+ HEAP16[(((arg)+(offset))>>1)] = 2;
+ return 0;
+ }
+ case 13:
+ case 14:
+ /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
+ /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
+
+
+ return 0; // Pretend that the locking is successful.
+ case 16:
+ case 8:
+ return -28; // These are for sockets. We don't have them fully implemented yet.
+ case 9:
+ // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
+ setErrNo(28);
+ return -1;
+ default: {
+ return -28;
+ }
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_fstat64(fd, buf) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ return SYSCALLS.doStat(FS.stat, stream.path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_fstatfs64(fd, size, buf) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ return ___sys_statfs64(0, size, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_ftruncate64(fd, zero, low, high) {try {
+
+ var length = SYSCALLS.get64(low, high);
+ FS.ftruncate(fd, length);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_getcwd(buf, size) {try {
+
+ if (size === 0) return -28;
+ var cwd = FS.cwd();
+ var cwdLengthInBytes = lengthBytesUTF8(cwd);
+ if (size < cwdLengthInBytes + 1) return -68;
+ stringToUTF8(cwd, buf, size);
+ return buf;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_getdents64(fd, dirp, count) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd)
+ if (!stream.getdents) {
+ stream.getdents = FS.readdir(stream.path);
+ }
+
+ var struct_size = 280;
+ var pos = 0;
+ var off = FS.llseek(stream, 0, 1);
+
+ var idx = Math.floor(off / struct_size);
+
+ while (idx < stream.getdents.length && pos + struct_size <= count) {
+ var id;
+ var type;
+ var name = stream.getdents[idx];
+ if (name[0] === '.') {
+ id = 1;
+ type = 4; // DT_DIR
+ } else {
+ var child = FS.lookupNode(stream.node, name);
+ id = child.id;
+ type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device.
+ FS.isDir(child.mode) ? 4 : // DT_DIR, directory.
+ FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link.
+ 8; // DT_REG, regular file.
+ }
+ (tempI64 = [id>>>0,(tempDouble=id,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((dirp + pos)>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(4))>>2)] = tempI64[1]);
+ (tempI64 = [(idx + 1) * struct_size>>>0,(tempDouble=(idx + 1) * struct_size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((dirp + pos)+(8))>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(12))>>2)] = tempI64[1]);
+ HEAP16[(((dirp + pos)+(16))>>1)] = 280;
+ HEAP8[(((dirp + pos)+(18))>>0)] = type;
+ stringToUTF8(name, dirp + pos + 19, 256);
+ pos += struct_size;
+ idx += 1;
+ }
+ FS.llseek(stream, idx * struct_size, 0);
+ return pos;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_getegid32() {
+ return 0;
+ }
+ function ___sys_geteuid32(
+ ) {
+ return ___sys_getegid32();
+ }
+
+ function ___sys_getpid() {
+ return 42;
+ }
+
+ function ___sys_getrusage(who, usage) {try {
+
+ _memset(usage, 0, 136);
+ HEAP32[((usage)>>2)] = 1; // fake some values
+ HEAP32[(((usage)+(4))>>2)] = 2;
+ HEAP32[(((usage)+(8))>>2)] = 3;
+ HEAP32[(((usage)+(12))>>2)] = 4;
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_ioctl(fd, op, varargs) {SYSCALLS.varargs = varargs;
+ try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ switch (op) {
+ case 21509:
+ case 21505: {
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ case 21510:
+ case 21511:
+ case 21512:
+ case 21506:
+ case 21507:
+ case 21508: {
+ if (!stream.tty) return -59;
+ return 0; // no-op, not actually adjusting terminal settings
+ }
+ case 21519: {
+ if (!stream.tty) return -59;
+ var argp = SYSCALLS.get();
+ HEAP32[((argp)>>2)] = 0;
+ return 0;
+ }
+ case 21520: {
+ if (!stream.tty) return -59;
+ return -28; // not supported
+ }
+ case 21531: {
+ var argp = SYSCALLS.get();
+ return FS.ioctl(stream, op, argp);
+ }
+ case 21523: {
+ // TODO: in theory we should write to the winsize struct that gets
+ // passed in, but for now musl doesn't read anything on it
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ case 21524: {
+ // TODO: technically, this ioctl call should change the window size.
+ // but, since emscripten doesn't have any concept of a terminal window
+ // yet, we'll just silently throw it away as we do TIOCGWINSZ
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ default: abort('bad ioctl syscall ' + op);
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_link(oldpath, newpath) {
+ return -34; // no hardlinks for us
+ }
+
+ function ___sys_lstat64(path, buf) {try {
+
+ path = SYSCALLS.getStr(path);
+ return SYSCALLS.doStat(FS.lstat, path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_madvise1(addr, length, advice) {
+ return 0; // advice is welcome, but ignored
+ }
+
+ function ___sys_mkdir(path, mode) {try {
+
+ path = SYSCALLS.getStr(path);
+ return SYSCALLS.doMkdir(path, mode);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function syscallMmap2(addr, len, prot, flags, fd, off) {
+ off <<= 12; // undo pgoffset
+ var ptr;
+ var allocated = false;
+
+ // addr argument must be page aligned if MAP_FIXED flag is set.
+ if ((flags & 16) !== 0 && (addr % 65536) !== 0) {
+ return -28;
+ }
+
+ // MAP_ANONYMOUS (aka MAP_ANON) isn't actually defined by POSIX spec,
+ // but it is widely used way to allocate memory pages on Linux, BSD and Mac.
+ // In this case fd argument is ignored.
+ if ((flags & 32) !== 0) {
+ ptr = _memalign(65536, len);
+ if (!ptr) return -48;
+ _memset(ptr, 0, len);
+ allocated = true;
+ } else {
+ var info = FS.getStream(fd);
+ if (!info) return -8;
+ var res = FS.mmap(info, addr, len, off, prot, flags);
+ ptr = res.ptr;
+ allocated = res.allocated;
+ }
+ SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, prot: prot, flags: flags, offset: off };
+ return ptr;
+ }
+ function ___sys_mmap2(addr, len, prot, flags, fd, off) {try {
+
+ return syscallMmap2(addr, len, prot, flags, fd, off);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_msync(addr, len, flags) {try {
+
+ var info = SYSCALLS.mappings[addr];
+ if (!info) return 0;
+ SYSCALLS.doMsync(addr, FS.getStream(info.fd), len, info.flags, 0);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function syscallMunmap(addr, len) {
+ if ((addr | 0) === -1 || len === 0) {
+ return -28;
+ }
+ // TODO: support unmmap'ing parts of allocations
+ var info = SYSCALLS.mappings[addr];
+ if (!info) return 0;
+ if (len === info.len) {
+ var stream = FS.getStream(info.fd);
+ if (stream) {
+ if (info.prot & 2) {
+ SYSCALLS.doMsync(addr, stream, len, info.flags, info.offset);
+ }
+ FS.munmap(stream);
+ }
+ SYSCALLS.mappings[addr] = null;
+ if (info.allocated) {
+ _free(info.malloc);
+ }
+ }
+ return 0;
+ }
+ function ___sys_munmap(addr, len) {try {
+
+ return syscallMunmap(addr, len);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs;
+ try {
+
+ var pathname = SYSCALLS.getStr(path);
+ var mode = varargs ? SYSCALLS.get() : 0;
+ var stream = FS.open(pathname, flags, mode);
+ return stream.fd;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_readlink(path, buf, bufsize) {try {
+
+ path = SYSCALLS.getStr(path);
+ return SYSCALLS.doReadlink(path, buf, bufsize);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function inetPton4(str) {
+ var b = str.split('.');
+ for (var i = 0; i < 4; i++) {
+ var tmp = Number(b[i]);
+ if (isNaN(tmp)) return null;
+ b[i] = tmp;
+ }
+ return (b[0] | (b[1] << 8) | (b[2] << 16) | (b[3] << 24)) >>> 0;
+ }
+
+ /** @suppress {checkTypes} */
+ function jstoi_q(str) {
+ return parseInt(str);
+ }
+ function inetPton6(str) {
+ var words;
+ var w, offset, z, i;
+ /* http://home.deds.nl/~aeron/regex/ */
+ var valid6regx = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i
+ var parts = [];
+ if (!valid6regx.test(str)) {
+ return null;
+ }
+ if (str === "::") {
+ return [0, 0, 0, 0, 0, 0, 0, 0];
+ }
+ // Z placeholder to keep track of zeros when splitting the string on ":"
+ if (str.startsWith("::")) {
+ str = str.replace("::", "Z:"); // leading zeros case
+ } else {
+ str = str.replace("::", ":Z:");
+ }
+
+ if (str.indexOf(".") > 0) {
+ // parse IPv4 embedded stress
+ str = str.replace(new RegExp('[.]', 'g'), ":");
+ words = str.split(":");
+ words[words.length-4] = jstoi_q(words[words.length-4]) + jstoi_q(words[words.length-3])*256;
+ words[words.length-3] = jstoi_q(words[words.length-2]) + jstoi_q(words[words.length-1])*256;
+ words = words.slice(0, words.length-2);
+ } else {
+ words = str.split(":");
+ }
+
+ offset = 0; z = 0;
+ for (w=0; w < words.length; w++) {
+ if (typeof words[w] === 'string') {
+ if (words[w] === 'Z') {
+ // compressed zeros - write appropriate number of zero words
+ for (z = 0; z < (8 - words.length+1); z++) {
+ parts[w+z] = 0;
+ }
+ offset = z-1;
+ } else {
+ // parse hex to field to 16-bit value and write it in network byte-order
+ parts[w+offset] = _htons(parseInt(words[w],16));
+ }
+ } else {
+ // parsed IPv4 words
+ parts[w+offset] = words[w];
+ }
+ }
+ return [
+ (parts[1] << 16) | parts[0],
+ (parts[3] << 16) | parts[2],
+ (parts[5] << 16) | parts[4],
+ (parts[7] << 16) | parts[6]
+ ];
+ }
+ function writeSockaddr(sa, family, addr, port, addrlen) {
+ switch (family) {
+ case 2:
+ addr = inetPton4(addr);
+ if (addrlen) {
+ HEAP32[((addrlen)>>2)] = 16;
+ }
+ HEAP16[((sa)>>1)] = family;
+ HEAP32[(((sa)+(4))>>2)] = addr;
+ HEAP16[(((sa)+(2))>>1)] = _htons(port);
+ /* Use makeSetValue instead of memset to avoid adding memset dependency for all users of writeSockaddr. */
+
+ (tempI64 = [0>>>0,(tempDouble=0,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((sa)+(8))>>2)] = tempI64[0],HEAP32[(((sa)+(12))>>2)] = tempI64[1]);
+ break;
+ case 10:
+ addr = inetPton6(addr);
+ if (addrlen) {
+ HEAP32[((addrlen)>>2)] = 28;
+ }
+ HEAP32[((sa)>>2)] = family;
+ HEAP32[(((sa)+(8))>>2)] = addr[0];
+ HEAP32[(((sa)+(12))>>2)] = addr[1];
+ HEAP32[(((sa)+(16))>>2)] = addr[2];
+ HEAP32[(((sa)+(20))>>2)] = addr[3];
+ HEAP16[(((sa)+(2))>>1)] = _htons(port);
+ HEAP32[(((sa)+(4))>>2)] = 0;
+ HEAP32[(((sa)+(24))>>2)] = 0;
+ break;
+ default:
+ return 5;
+ }
+ return 0;
+ }
+
+ var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function (name) {
+ // If the name is already a valid ipv4 / ipv6 address, don't generate a fake one.
+ var res = inetPton4(name);
+ if (res !== null) {
+ return name;
+ }
+ res = inetPton6(name);
+ if (res !== null) {
+ return name;
+ }
+
+ // See if this name is already mapped.
+ var addr;
+
+ if (DNS.address_map.addrs[name]) {
+ addr = DNS.address_map.addrs[name];
+ } else {
+ var id = DNS.address_map.id++;
+ assert(id < 65535, 'exceeded max address mappings of 65535');
+
+ addr = '172.29.' + (id & 0xff) + '.' + (id & 0xff00);
+
+ DNS.address_map.names[addr] = name;
+ DNS.address_map.addrs[name] = addr;
+ }
+
+ return addr;
+ },lookup_addr:function (addr) {
+ if (DNS.address_map.names[addr]) {
+ return DNS.address_map.names[addr];
+ }
+
+ return null;
+ }};
+ function ___sys_recvfrom(fd, buf, len, flags, addr, addrlen) {try {
+
+ var sock = getSocketFromFD(fd);
+ var msg = sock.sock_ops.recvmsg(sock, len);
+ if (!msg) return 0; // socket is closed
+ if (addr) {
+ var errno = writeSockaddr(addr, sock.family, DNS.lookup_name(msg.addr), msg.port, addrlen);
+ }
+ HEAPU8.set(msg.buffer, buf);
+ return msg.buffer.byteLength;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_rename(old_path, new_path) {try {
+
+ old_path = SYSCALLS.getStr(old_path);
+ new_path = SYSCALLS.getStr(new_path);
+ FS.rename(old_path, new_path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_rmdir(path) {try {
+
+ path = SYSCALLS.getStr(path);
+ FS.rmdir(path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_sendto(fd, message, length, flags, addr, addr_len) {try {
+
+ var sock = getSocketFromFD(fd);
+ var dest = getSocketAddress(addr, addr_len, true);
+ if (!dest) {
+ // send, no address provided
+ return FS.write(sock.stream, HEAP8,message, length);
+ } else {
+ // sendto an address
+ return sock.sock_ops.sendmsg(sock, HEAP8,message, length, dest.addr, dest.port);
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_setsockopt(fd) {try {
+
+ return -50; // The option is unknown at the level indicated.
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_shutdown(fd, how) {try {
+
+ getSocketFromFD(fd);
+ return -52; // unsupported feature
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_socket(domain, type, protocol) {try {
+
+ var sock = SOCKFS.createSocket(domain, type, protocol);
+ return sock.stream.fd;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_stat64(path, buf) {try {
+
+ path = SYSCALLS.getStr(path);
+ return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_symlink(target, linkpath) {try {
+
+ target = SYSCALLS.getStr(target);
+ linkpath = SYSCALLS.getStr(linkpath);
+ FS.symlink(target, linkpath);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_unlink(path) {try {
+
+ path = SYSCALLS.getStr(path);
+ FS.unlink(path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___sys_utimensat(dirfd, path, times, flags) {try {
+
+ path = SYSCALLS.getStr(path);
+ path = SYSCALLS.calculateAt(dirfd, path, true);
+ var seconds = HEAP32[((times)>>2)];
+ var nanoseconds = HEAP32[(((times)+(4))>>2)];
+ var atime = (seconds*1000) + (nanoseconds/(1000*1000));
+ times += 8;
+ seconds = HEAP32[((times)>>2)];
+ nanoseconds = HEAP32[(((times)+(4))>>2)];
+ var mtime = (seconds*1000) + (nanoseconds/(1000*1000));
+ FS.utime(path, atime, mtime);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function _abort() {
+ abort();
+ }
+
+ function _emscripten_get_now_res() { // return resolution of get_now, in nanoseconds
+ if (ENVIRONMENT_IS_NODE) {
+ return 1; // nanoseconds
+ } else
+ if (typeof dateNow !== 'undefined') {
+ return 1000; // microseconds (1/1000 of a millisecond)
+ } else
+ // Modern environment where performance.now() is supported:
+ return 1000; // microseconds (1/1000 of a millisecond)
+ }
+ function _clock_getres(clk_id, res) {
+ // int clock_getres(clockid_t clk_id, struct timespec *res);
+ var nsec;
+ if (clk_id === 0) {
+ nsec = 1000 * 1000; // educated guess that it's milliseconds
+ } else if (clk_id === 1 && _emscripten_get_now_is_monotonic) {
+ nsec = _emscripten_get_now_res();
+ } else {
+ setErrNo(28);
+ return -1;
+ }
+ HEAP32[((res)>>2)] = (nsec/1000000000)|0;
+ HEAP32[(((res)+(4))>>2)] = nsec // resolution is nanoseconds
+ return 0;
+ }
+
+
+ function _difftime(time1, time0) {
+ return time1 - time0;
+ }
+
+ function _dlclose(handle) {
+ abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking");
+ }
+
+ function _dlerror() {
+ abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking");
+ }
+
+ function _dlopen(filename, flag) {
+ abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking");
+ }
+
+ function _dlsym(handle, symbol) {
+ abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking");
+ }
+
+ var DOTNETENTROPY={batchedQuotaMax:65536,getBatchedRandomValues:function (buffer, bufferLength) {
+ // for modern web browsers
+ // map the work array to the memory buffer passed with the length
+ for (var i = 0; i < bufferLength; i += this.batchedQuotaMax) {
+ var view = new Uint8Array(Module.HEAPU8.buffer, buffer + i, Math.min(bufferLength - i, this.batchedQuotaMax));
+ crypto.getRandomValues(view)
+ }
+ }};
+ function _dotnet_browser_entropy(buffer, bufferLength) {
+ // check that we have crypto available
+ if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') {
+ DOTNETENTROPY.getBatchedRandomValues(buffer, bufferLength)
+ return 0;
+ } else {
+ // we couldn't find a proper implementation, as Math.random() is not suitable
+ // instead of aborting here we will return and let managed code handle the message
+ return -1;
+ }
+ }
+
+ var readAsmConstArgsArray=[];
+ function readAsmConstArgs(sigPtr, buf) {
+ readAsmConstArgsArray.length = 0;
+ var ch;
+ // Most arguments are i32s, so shift the buffer pointer so it is a plain
+ // index into HEAP32.
+ buf >>= 2;
+ while (ch = HEAPU8[sigPtr++]) {
+ // A double takes two 32-bit slots, and must also be aligned - the backend
+ // will emit padding to avoid that.
+ var double = ch < 105;
+ if (double && (buf & 1)) buf++;
+ readAsmConstArgsArray.push(double ? HEAPF64[buf++ >> 1] : HEAP32[buf]);
+ ++buf;
+ }
+ return readAsmConstArgsArray;
+ }
+ function _emscripten_asm_const_int(code, sigPtr, argbuf) {
+ var args = readAsmConstArgs(sigPtr, argbuf);
+ return ASM_CONSTS[code].apply(null, args);
+ }
+
+ function _emscripten_get_heap_max() {
+ // Handle the case of 4GB (which would wrap to 0 in the return value) by
+ // returning up to 4GB - one wasm page.
+ return 2147483648;
+ }
+
+ function _emscripten_memcpy_big(dest, src, num) {
+ HEAPU8.copyWithin(dest, src, src + num);
+ }
+
+ function emscripten_realloc_buffer(size) {
+ try {
+ // round size grow request up to wasm page size (fixed 64KB per spec)
+ wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size
+ updateGlobalBufferAndViews(wasmMemory.buffer);
+ return 1 /*success*/;
+ } catch(e) {
+ }
+ // implicit 0 return to save code size (caller will cast "undefined" into 0
+ // anyhow)
+ }
+ function _emscripten_resize_heap(requestedSize) {
+ var oldSize = HEAPU8.length;
+ requestedSize = requestedSize >>> 0;
+ // With pthreads, races can happen (another thread might increase the size in between), so return a failure, and let the caller retry.
+
+ // Memory resize rules:
+ // 1. Always increase heap size to at least the requested size, rounded up to next page multiple.
+ // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap geometrically: increase the heap size according to
+ // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%),
+ // At most overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
+ // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap linearly: increase the heap size by at least MEMORY_GROWTH_LINEAR_STEP bytes.
+ // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
+ // 4. If we were unable to allocate as much memory, it may be due to over-eager decision to excessively reserve due to (3) above.
+ // Hence if an allocation fails, cut down on the amount of excess growth, in an attempt to succeed to perform a smaller allocation.
+
+ // A limit is set for how much we can grow. We should not exceed that
+ // (the wasm binary specifies it, so if we tried, we'd fail anyhow).
+ // In CAN_ADDRESS_2GB mode, stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate full 4GB Wasm memories, the size will wrap
+ // back to 0 bytes in Wasm side for any code that deals with heap sizes, which would require special casing all heap size related code to treat
+ // 0 specially.
+ var maxHeapSize = 2147483648;
+ if (requestedSize > maxHeapSize) {
+ return false;
+ }
+
+ // Loop through potential heap size increases. If we attempt a too eager reservation that fails, cut down on the
+ // attempted size and reserve a smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
+ var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth
+ // but limit overreserving (default to capping at +96MB overgrowth at most)
+ overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 );
+
+ var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
+
+ var replacement = emscripten_realloc_buffer(newSize);
+ if (replacement) {
+
+ return true;
+ }
+ }
+ return false;
+ }
+
+ function _emscripten_thread_sleep(msecs) {
+ var start = _emscripten_get_now();
+ while (_emscripten_get_now() - start < msecs) {
+ // Do nothing.
+ }
+ }
+
+ var ENV={};
+
+ function getExecutableName() {
+ return thisProgram || './this.program';
+ }
+ function getEnvStrings() {
+ if (!getEnvStrings.strings) {
+ // Default values.
+ // Browser language detection #8751
+ 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()
+ };
+ // Apply the user-provided values, if any.
+ for (var x in ENV) {
+ 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) {try {
+
+ var bufSize = 0;
+ getEnvStrings().forEach(function(string, i) {
+ var ptr = environ_buf + bufSize;
+ HEAP32[(((__environ)+(i * 4))>>2)] = ptr;
+ writeAsciiToMemory(string, ptr);
+ bufSize += string.length + 1;
+ });
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _environ_sizes_get(penviron_count, penviron_buf_size) {try {
+
+ var strings = getEnvStrings();
+ HEAP32[((penviron_count)>>2)] = strings.length;
+ var bufSize = 0;
+ strings.forEach(function(string) {
+ bufSize += string.length + 1;
+ });
+ HEAP32[((penviron_buf_size)>>2)] = bufSize;
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _exit(status) {
+ // void _exit(int status);
+ // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
+ exit(status);
+ }
+
+ function _fd_close(fd) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ FS.close(stream);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_fdstat_get(fd, pbuf) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ // All character devices are terminals (other things a Linux system would
+ // assume is a character device, like the mouse, we have special APIs for).
+ var type = stream.tty ? 2 :
+ FS.isDir(stream.mode) ? 3 :
+ FS.isLink(stream.mode) ? 7 :
+ 4;
+ HEAP8[((pbuf)>>0)] = type;
+ // TODO HEAP16[(((pbuf)+(2))>>1)] = ?;
+ // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(8))>>2)] = tempI64[0],HEAP32[(((pbuf)+(12))>>2)] = tempI64[1]);
+ // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(16))>>2)] = tempI64[0],HEAP32[(((pbuf)+(20))>>2)] = tempI64[1]);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_pread(fd, iov, iovcnt, offset_low, offset_high, pnum) {try {
+
+
+ var stream = SYSCALLS.getStreamFromFD(fd)
+ var num = SYSCALLS.doReadv(stream, iov, iovcnt, offset_low);
+ HEAP32[((pnum)>>2)] = num
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_pwrite(fd, iov, iovcnt, offset_low, offset_high, pnum) {try {
+
+
+ var stream = SYSCALLS.getStreamFromFD(fd)
+ var num = SYSCALLS.doWritev(stream, iov, iovcnt, offset_low);
+ HEAP32[((pnum)>>2)] = num
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_read(fd, iov, iovcnt, pnum) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var num = SYSCALLS.doReadv(stream, iov, iovcnt);
+ HEAP32[((pnum)>>2)] = num
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try {
+
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var HIGH_OFFSET = 0x100000000; // 2^32
+ // use an unsigned operator on low and shift high by 32-bits
+ var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
+
+ var DOUBLE_LIMIT = 0x20000000000000; // 2^53
+ // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT
+ if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
+ return -61;
+ }
+
+ FS.llseek(stream, offset, whence);
+ (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]);
+ if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_sync(fd) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ if (stream.stream_ops && stream.stream_ops.fsync) {
+ return -stream.stream_ops.fsync(stream);
+ }
+ return 0; // we can't do anything synchronously; the in-memory FS is already synced to
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _fd_write(fd, iov, iovcnt, pnum) {try {
+
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var num = SYSCALLS.doWritev(stream, iov, iovcnt);
+ HEAP32[((pnum)>>2)] = num
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+ }
+
+ function _flock(fd, operation) {
+ // int flock(int fd, int operation);
+ // Pretend to succeed
+ return 0;
+ }
+
+ var GAI_ERRNO_MESSAGES={};
+ function _gai_strerror(val) {
+ var buflen = 256;
+
+ // On first call to gai_strerror we initialise the buffer and populate the error messages.
+ if (!_gai_strerror.buffer) {
+ _gai_strerror.buffer = _malloc(buflen);
+
+ GAI_ERRNO_MESSAGES['0'] = 'Success';
+ GAI_ERRNO_MESSAGES['' + -1] = 'Invalid value for \'ai_flags\' field';
+ GAI_ERRNO_MESSAGES['' + -2] = 'NAME or SERVICE is unknown';
+ GAI_ERRNO_MESSAGES['' + -3] = 'Temporary failure in name resolution';
+ GAI_ERRNO_MESSAGES['' + -4] = 'Non-recoverable failure in name res';
+ GAI_ERRNO_MESSAGES['' + -6] = '\'ai_family\' not supported';
+ GAI_ERRNO_MESSAGES['' + -7] = '\'ai_socktype\' not supported';
+ GAI_ERRNO_MESSAGES['' + -8] = 'SERVICE not supported for \'ai_socktype\'';
+ GAI_ERRNO_MESSAGES['' + -10] = 'Memory allocation failure';
+ GAI_ERRNO_MESSAGES['' + -11] = 'System error returned in \'errno\'';
+ GAI_ERRNO_MESSAGES['' + -12] = 'Argument buffer overflow';
+ }
+
+ var msg = 'Unknown error';
+
+ if (val in GAI_ERRNO_MESSAGES) {
+ if (GAI_ERRNO_MESSAGES[val].length > buflen - 1) {
+ msg = 'Message too long'; // EMSGSIZE message. This should never occur given the GAI_ERRNO_MESSAGES above.
+ } else {
+ msg = GAI_ERRNO_MESSAGES[val];
+ }
+ }
+
+ writeAsciiToMemory(msg, _gai_strerror.buffer);
+ return _gai_strerror.buffer;
+ }
+
+ function _getTempRet0() {
+ return getTempRet0();
+ }
+
+ function _gettimeofday(ptr) {
+ var now = Date.now();
+ HEAP32[((ptr)>>2)] = (now/1000)|0; // seconds
+ HEAP32[(((ptr)+(4))>>2)] = ((now % 1000)*1000)|0; // microseconds
+ return 0;
+ }
+
+ function _gmtime_r(time, tmPtr) {
+ var date = new Date(HEAP32[((time)>>2)]*1000);
+ HEAP32[((tmPtr)>>2)] = date.getUTCSeconds();
+ HEAP32[(((tmPtr)+(4))>>2)] = date.getUTCMinutes();
+ HEAP32[(((tmPtr)+(8))>>2)] = date.getUTCHours();
+ HEAP32[(((tmPtr)+(12))>>2)] = date.getUTCDate();
+ HEAP32[(((tmPtr)+(16))>>2)] = date.getUTCMonth();
+ HEAP32[(((tmPtr)+(20))>>2)] = date.getUTCFullYear()-1900;
+ HEAP32[(((tmPtr)+(24))>>2)] = date.getUTCDay();
+ HEAP32[(((tmPtr)+(36))>>2)] = 0;
+ HEAP32[(((tmPtr)+(32))>>2)] = 0;
+ var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
+ var yday = ((date.getTime() - start) / (1000 * 60 * 60 * 24))|0;
+ HEAP32[(((tmPtr)+(28))>>2)] = yday;
+ // Allocate a string "GMT" for us to point to.
+ if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT");
+ HEAP32[(((tmPtr)+(40))>>2)] = _gmtime_r.GMTString;
+ return tmPtr;
+ }
+
+ function _llvm_eh_typeid_for(type) {
+ return type;
+ }
+
+
+ var MONO={pump_count:0,timeout_queue:[],spread_timers_maximum:0,_vt_stack:[],mono_wasm_runtime_is_ready:false,mono_wasm_ignore_pdb_load_errors:true,_id_table:{},pump_message:function () {
+ if (!this.mono_background_exec)
+ this.mono_background_exec = Module.cwrap ("mono_background_exec", null);
+ while (MONO.timeout_queue.length > 0) {
+ --MONO.pump_count;
+ MONO.timeout_queue.shift()();
+ }
+ while (MONO.pump_count > 0) {
+ --MONO.pump_count;
+ this.mono_background_exec ();
+ }
+ },export_functions:function (module) {
+ module ["pump_message"] = MONO.pump_message.bind(MONO);
+ module ["prevent_timer_throttling"] = MONO.prevent_timer_throttling.bind(MONO);
+ module ["mono_wasm_set_timeout_exec"] = MONO.mono_wasm_set_timeout_exec.bind(MONO);
+ module ["mono_load_runtime_and_bcl"] = MONO.mono_load_runtime_and_bcl.bind(MONO);
+ module ["mono_load_runtime_and_bcl_args"] = MONO.mono_load_runtime_and_bcl_args.bind(MONO);
+ module ["mono_wasm_load_bytes_into_heap"] = MONO.mono_wasm_load_bytes_into_heap.bind(MONO);
+ module ["mono_wasm_load_icu_data"] = MONO.mono_wasm_load_icu_data.bind(MONO);
+ module ["mono_wasm_get_icudt_name"] = MONO.mono_wasm_get_icudt_name.bind(MONO);
+ module ["mono_wasm_globalization_init"] = MONO.mono_wasm_globalization_init.bind(MONO);
+ module ["mono_wasm_get_loaded_files"] = MONO.mono_wasm_get_loaded_files.bind(MONO);
+ module ["mono_wasm_new_root_buffer"] = MONO.mono_wasm_new_root_buffer.bind(MONO);
+ module ["mono_wasm_new_root_buffer_from_pointer"] = MONO.mono_wasm_new_root_buffer_from_pointer.bind(MONO);
+ module ["mono_wasm_new_root"] = MONO.mono_wasm_new_root.bind(MONO);
+ module ["mono_wasm_new_roots"] = MONO.mono_wasm_new_roots.bind(MONO);
+ module ["mono_wasm_release_roots"] = MONO.mono_wasm_release_roots.bind(MONO);
+ module ["mono_wasm_load_config"] = MONO.mono_wasm_load_config.bind(MONO);
+ },_base64Converter:{_base64Table:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],_makeByteReader:function (bytes, index, count) {
+ var position = (typeof (index) === "number") ? index : 0;
+ var endpoint;
+
+ if (typeof (count) === "number")
+ endpoint = (position + count);
+ else
+ endpoint = (bytes.length - position);
+
+ var result = {
+ read: function () {
+ if (position >= endpoint)
+ return false;
+
+ var nextByte = bytes[position];
+ position += 1;
+ return nextByte;
+ }
+ };
+
+ Object.defineProperty(result, "eof", {
+ get: function () {
+ return (position >= endpoint);
+ },
+ configurable: true,
+ enumerable: true
+ });
+
+ return result;
+ },toBase64StringImpl:function (inArray, offset, length) {
+ var reader = this._makeByteReader(inArray, offset, length);
+ var result = "";
+ var ch1 = 0, ch2 = 0, ch3 = 0, bits = 0, equalsCount = 0, sum = 0;
+ var mask1 = (1 << 24) - 1, mask2 = (1 << 18) - 1, mask3 = (1 << 12) - 1, mask4 = (1 << 6) - 1;
+ var shift1 = 18, shift2 = 12, shift3 = 6, shift4 = 0;
+
+ while (true) {
+ ch1 = reader.read();
+ ch2 = reader.read();
+ ch3 = reader.read();
+
+ if (ch1 === false)
+ break;
+ if (ch2 === false) {
+ ch2 = 0;
+ equalsCount += 1;
+ }
+ if (ch3 === false) {
+ ch3 = 0;
+ equalsCount += 1;
+ }
+
+ // Seems backwards, but is right!
+ sum = (ch1 << 16) | (ch2 << 8) | (ch3 << 0);
+
+ bits = (sum & mask1) >> shift1;
+ result += this._base64Table[bits];
+ bits = (sum & mask2) >> shift2;
+ result += this._base64Table[bits];
+
+ if (equalsCount < 2) {
+ bits = (sum & mask3) >> shift3;
+ result += this._base64Table[bits];
+ }
+
+ if (equalsCount === 2) {
+ result += "==";
+ } else if (equalsCount === 1) {
+ result += "=";
+ } else {
+ bits = (sum & mask4) >> shift4;
+ result += this._base64Table[bits];
+ }
+ }
+
+ return result;
+ }},_mono_wasm_root_buffer_prototype:{_throw_index_out_of_range:function () {
+ throw new Error ("index out of range");
+ },_check_in_range:function (index) {
+ if ((index >= this.__count) || (index < 0))
+ this._throw_index_out_of_range();
+ },get_address:function (index) {
+ this._check_in_range (index);
+ return this.__offset + (index * 4);
+ },get_address_32:function (index) {
+ this._check_in_range (index);
+ return this.__offset32 + index;
+ },get:function (index) {
+ this._check_in_range (index);
+ return Module.HEAP32[this.get_address_32 (index)];
+ },set:function (index, value) {
+ Module.HEAP32[this.get_address_32 (index)] = value;
+ return value;
+ },_unsafe_get:function (index) {
+ return Module.HEAP32[this.__offset32 + index];
+ },_unsafe_set:function (index, value) {
+ Module.HEAP32[this.__offset32 + index] = value;
+ },clear:function () {
+ if (this.__offset)
+ MONO._zero_region (this.__offset, this.__count * 4);
+ },release:function () {
+ if (this.__offset && this.__ownsAllocation) {
+ MONO.mono_wasm_deregister_root (this.__offset);
+ MONO._zero_region (this.__offset, this.__count * 4);
+ Module._free (this.__offset);
+ }
+
+ this.__handle = this.__offset = this.__count = this.__offset32 = 0;
+ },toString:function () {
+ return "[root buffer @" + this.get_address (0) + ", size " + this.__count + "]";
+ }},_scratch_root_buffer:null,_scratch_root_free_indices:null,_scratch_root_free_indices_count:0,_scratch_root_free_instances:[],_mono_wasm_root_prototype:{get_address:function () {
+ return this.__buffer.get_address (this.__index);
+ },get_address_32:function () {
+ return this.__buffer.get_address_32 (this.__index);
+ },get:function () {
+ var result = this.__buffer._unsafe_get (this.__index);
+ return result;
+ },set:function (value) {
+ this.__buffer._unsafe_set (this.__index, value);
+ return value;
+ },valueOf:function () {
+ return this.get ();
+ },clear:function () {
+ this.set (0);
+ },release:function () {
+ const maxPooledInstances = 128;
+ if (MONO._scratch_root_free_instances.length > maxPooledInstances) {
+ MONO._mono_wasm_release_scratch_index (this.__index);
+ this.__buffer = 0;
+ this.__index = 0;
+ } else {
+ this.set (0);
+ MONO._scratch_root_free_instances.push (this);
+ }
+ },toString:function () {
+ return "[root @" + this.get_address () + "]";
+ }},_mono_wasm_release_scratch_index:function (index) {
+ if (index === undefined)
+ return;
+
+ this._scratch_root_buffer.set (index, 0);
+ this._scratch_root_free_indices[this._scratch_root_free_indices_count] = index;
+ this._scratch_root_free_indices_count++;
+ },_mono_wasm_claim_scratch_index:function () {
+ if (!this._scratch_root_buffer) {
+ const maxScratchRoots = 8192;
+ this._scratch_root_buffer = this.mono_wasm_new_root_buffer (maxScratchRoots, "js roots");
+
+ this._scratch_root_free_indices = new Int32Array (maxScratchRoots);
+ this._scratch_root_free_indices_count = maxScratchRoots;
+ for (var i = 0; i < maxScratchRoots; i++)
+ this._scratch_root_free_indices[i] = maxScratchRoots - i - 1;
+
+ Object.defineProperty (this._mono_wasm_root_prototype, "value", {
+ get: this._mono_wasm_root_prototype.get,
+ set: this._mono_wasm_root_prototype.set,
+ configurable: false
+ });
+ }
+
+ if (this._scratch_root_free_indices_count < 1)
+ throw new Error ("Out of scratch root space");
+
+ var result = this._scratch_root_free_indices[this._scratch_root_free_indices_count - 1];
+ this._scratch_root_free_indices_count--;
+ return result;
+ },_zero_region:function (byteOffset, sizeBytes) {
+ if (((byteOffset % 4) === 0) && ((sizeBytes % 4) === 0))
+ Module.HEAP32.fill(0, byteOffset / 4, sizeBytes / 4);
+ else
+ Module.HEAP8.fill(0, byteOffset, sizeBytes);
+ },mono_wasm_new_root_buffer:function (capacity, msg) {
+ if (!this.mono_wasm_register_root || !this.mono_wasm_deregister_root) {
+ this.mono_wasm_register_root = Module.cwrap ("mono_wasm_register_root", "number", ["number", "number", "string"]);
+ this.mono_wasm_deregister_root = Module.cwrap ("mono_wasm_deregister_root", null, ["number"]);
+ }
+
+ if (capacity <= 0)
+ throw new Error ("capacity >= 1");
+
+ capacity = capacity | 0;
+
+ var capacityBytes = capacity * 4;
+ var offset = Module._malloc (capacityBytes);
+ if ((offset % 4) !== 0)
+ throw new Error ("Malloc returned an unaligned offset");
+
+ this._zero_region (offset, capacityBytes);
+
+ var result = Object.create (this._mono_wasm_root_buffer_prototype);
+ result.__offset = offset;
+ result.__offset32 = (offset / 4) | 0;
+ result.__count = capacity;
+ result.length = capacity;
+ result.__handle = this.mono_wasm_register_root (offset, capacityBytes, msg || 0);
+ result.__ownsAllocation = true;
+
+ return result;
+ },mono_wasm_new_root_buffer_from_pointer:function (offset, capacity, msg) {
+ if (!this.mono_wasm_register_root || !this.mono_wasm_deregister_root) {
+ this.mono_wasm_register_root = Module.cwrap ("mono_wasm_register_root", "number", ["number", "number", "string"]);
+ this.mono_wasm_deregister_root = Module.cwrap ("mono_wasm_deregister_root", null, ["number"]);
+ }
+
+ if (capacity <= 0)
+ throw new Error ("capacity >= 1");
+
+ capacity = capacity | 0;
+
+ var capacityBytes = capacity * 4;
+ if ((offset % 4) !== 0)
+ throw new Error ("Unaligned offset");
+
+ this._zero_region (offset, capacityBytes);
+
+ var result = Object.create (this._mono_wasm_root_buffer_prototype);
+ result.__offset = offset;
+ result.__offset32 = (offset / 4) | 0;
+ result.__count = capacity;
+ result.length = capacity;
+ result.__handle = this.mono_wasm_register_root (offset, capacityBytes, msg || 0);
+ result.__ownsAllocation = false;
+
+ return result;
+ },mono_wasm_new_root:function (value) {
+ var result;
+
+ if (this._scratch_root_free_instances.length > 0) {
+ result = this._scratch_root_free_instances.pop ();
+ } else {
+ var index = this._mono_wasm_claim_scratch_index ();
+ var buffer = this._scratch_root_buffer;
+
+ result = Object.create (this._mono_wasm_root_prototype);
+ result.__buffer = buffer;
+ result.__index = index;
+ }
+
+ if (value !== undefined) {
+ if (typeof (value) !== "number")
+ throw new Error ("value must be an address in the managed heap");
+
+ result.set (value);
+ } else {
+ result.set (0);
+ }
+
+ return result;
+ },mono_wasm_new_roots:function (count_or_values) {
+ var result;
+
+ if (Array.isArray (count_or_values)) {
+ result = new Array (count_or_values.length);
+ for (var i = 0; i < result.length; i++)
+ result[i] = this.mono_wasm_new_root (count_or_values[i]);
+ } else if ((count_or_values | 0) > 0) {
+ result = new Array (count_or_values);
+ for (var i = 0; i < result.length; i++)
+ result[i] = this.mono_wasm_new_root ();
+ } else {
+ throw new Error ("count_or_values must be either an array or a number greater than 0");
+ }
+
+ return result;
+ },mono_wasm_release_roots:function () {
+ for (var i = 0; i < arguments.length; i++) {
+ if (!arguments[i])
+ continue;
+
+ arguments[i].release ();
+ }
+ },mono_text_decoder:undefined,string_decoder:{copy:function (mono_string) {
+ if (mono_string === 0)
+ return null;
+
+ if (!this.mono_wasm_string_root)
+ this.mono_wasm_string_root = MONO.mono_wasm_new_root ();
+ this.mono_wasm_string_root.value = mono_string;
+
+ if (!this.mono_wasm_string_get_data)
+ this.mono_wasm_string_get_data = Module.cwrap ("mono_wasm_string_get_data", null, ['number', 'number', 'number', 'number']);
+
+ if (!this.mono_wasm_string_decoder_buffer)
+ this.mono_wasm_string_decoder_buffer = Module._malloc(12);
+
+ let ppChars = this.mono_wasm_string_decoder_buffer + 0,
+ pLengthBytes = this.mono_wasm_string_decoder_buffer + 4,
+ pIsInterned = this.mono_wasm_string_decoder_buffer + 8;
+
+ this.mono_wasm_string_get_data (mono_string, ppChars, pLengthBytes, pIsInterned);
+
+ // TODO: Is this necessary?
+ if (!this.mono_wasm_empty_string)
+ this.mono_wasm_empty_string = "";
+
+ let result = this.mono_wasm_empty_string;
+ let lengthBytes = Module.HEAP32[pLengthBytes / 4],
+ pChars = Module.HEAP32[ppChars / 4],
+ isInterned = Module.HEAP32[pIsInterned / 4];
+
+ if (pLengthBytes && pChars) {
+ if (
+ isInterned &&
+ MONO.interned_string_table &&
+ MONO.interned_string_table.has(mono_string)
+ ) {
+ result = MONO.interned_string_table.get(mono_string);
+ // console.log("intern table cache hit", mono_string, result.length);
+ } else {
+ result = this.decode(pChars, pChars + lengthBytes, false);
+ if (isInterned) {
+ if (!MONO.interned_string_table)
+ MONO.interned_string_table = new Map();
+ // console.log("interned", mono_string, result.length);
+ MONO.interned_string_table.set(mono_string, result);
+ }
+ }
+ }
+
+ this.mono_wasm_string_root.value = 0;
+ return result;
+ },decode:function (start, end, save) {
+ if (!MONO.mono_text_decoder) {
+ MONO.mono_text_decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
+ }
+
+ var str = "";
+ if (MONO.mono_text_decoder) {
+ // When threading is enabled, TextDecoder does not accept a view of a
+ // SharedArrayBuffer, we must make a copy of the array first.
+ var subArray = typeof SharedArrayBuffer !== 'undefined' && Module.HEAPU8.buffer instanceof SharedArrayBuffer
+ ? Module.HEAPU8.slice(start, end)
+ : Module.HEAPU8.subarray(start, end);
+
+ str = MONO.mono_text_decoder.decode(subArray);
+ } else {
+ for (var i = 0; i < end - start; i+=2) {
+ var char = Module.getValue (start + i, 'i16');
+ str += String.fromCharCode (char);
+ }
+ }
+ if (save)
+ this.result = str;
+
+ return str;
+ }},mono_wasm_add_dbg_command_received:function(res_ok, id, buffer, buffer_len)
+ {
+ const assembly_data = new Uint8Array(Module.HEAPU8.buffer, buffer, buffer_len);
+ const base64String = MONO._base64Converter.toBase64StringImpl(assembly_data);
+ const buffer_obj = {
+ res_ok,
+ res: {
+ id,
+ value: base64String
+ }
+ }
+ if (MONO.commands_received.has(id))
+ console.warn("Addind an id that already exists in commands_received");
+ MONO.commands_received.set(id, buffer_obj);
+ },mono_wasm_malloc_and_set_debug_buffer:function (command_parameters)
+ {
+ if (command_parameters.length > this._debugger_buffer_len)
+ {
+ if (this._debugger_buffer)
+ Module._free (this._debugger_buffer);
+ this._debugger_buffer_len = Math.max(command_parameters.length, this._debugger_buffer_len, 256);
+ this._debugger_buffer = Module._malloc (this._debugger_buffer_len);
+ }
+ this._debugger_heap_bytes = new Uint8Array (Module.HEAPU8.buffer, this._debugger_buffer, this._debugger_buffer_len);
+ this._debugger_heap_bytes.set(this._base64_to_uint8 (command_parameters));
+ },mono_wasm_send_dbg_command_with_parms:function (id, command_set, command, command_parameters, length, valtype, newvalue)
+ {
+ this.mono_wasm_malloc_and_set_debug_buffer(command_parameters);
+ this._c_fn_table.mono_wasm_send_dbg_command_with_parms_wrapper (id, command_set, command, this._debugger_buffer, length, valtype, newvalue.toString());
+ let { res_ok, res } = MONO.commands_received.remove(id);;
+ if (!res_ok)
+ throw new Error (`Failed on mono_wasm_invoke_method_debugger_agent_with_parms`);
+ return res;
+ },mono_wasm_send_dbg_command:function (id, command_set, command, command_parameters)
+ {
+ this.mono_wasm_malloc_and_set_debug_buffer(command_parameters);
+ this._c_fn_table.mono_wasm_send_dbg_command_wrapper (id, command_set, command, this._debugger_buffer, command_parameters.length);
+ let { res_ok, res } = MONO.commands_received.remove(id);
+ if (!res_ok)
+ throw new Error (`Failed on mono_wasm_send_dbg_command`);
+ return res;
+
+ },mono_wasm_get_dbg_command_info:function ()
+ {
+ let { res_ok, res } = MONO.commands_received.remove(0);
+ if (!res_ok)
+ throw new Error (`Failed on mono_wasm_get_dbg_command_info`);
+ return res;
+ },_get_cfo_res_details:function (objectId, args) {
+ if (!(objectId in this._call_function_res_cache))
+ throw new Error(`Could not find any object with id ${objectId}`);
+
+ const real_obj = this._call_function_res_cache [objectId];
+
+ const descriptors = Object.getOwnPropertyDescriptors (real_obj);
+ if (args.accessorPropertiesOnly) {
+ Object.keys (descriptors).forEach (k => {
+ if (descriptors [k].get === undefined)
+ Reflect.deleteProperty (descriptors, k);
+ });
+ }
+
+ let res_details = [];
+ Object.keys (descriptors).forEach (k => {
+ let new_obj;
+ let prop_desc = descriptors [k];
+ if (typeof prop_desc.value == "object") {
+ // convert `{value: { type='object', ... }}`
+ // to `{ name: 'foo', value: { type='object', ... }}
+ new_obj = Object.assign ({ name: k }, prop_desc);
+ } else if (prop_desc.value !== undefined) {
+ // This is needed for values that were not added by us,
+ // thus are like { value: 5 }
+ // instead of { value: { type = 'number', value: 5 }}
+ //
+ // This can happen, for eg., when `length` gets added for arrays
+ // or `__proto__`.
+ new_obj = {
+ name: k,
+ // merge/add `type` and `description` to `d.value`
+ value: Object.assign ({ type: (typeof prop_desc.value), description: '' + prop_desc.value },
+ prop_desc)
+ };
+ } else if (prop_desc.get !== undefined) {
+ // The real_obj has the actual getter. We are just returning a placeholder
+ // If the caller tries to run function on the cfo_res object,
+ // that accesses this property, then it would be run on `real_obj`,
+ // which *has* the original getter
+ new_obj = {
+ name: k,
+ get: {
+ className: "Function",
+ description: `get ${k} () {}`,
+ type: "function"
+ }
+ };
+ } else {
+ new_obj = { name: k, value: { type: "symbol", value: "", description: ""} };
+ }
+
+ res_details.push (new_obj);
+ });
+
+ return { __value_as_json_string__: JSON.stringify (res_details) };
+ },mono_wasm_get_details:function (objectId, args={}) {
+ return this._get_cfo_res_details (`dotnet:cfo_res:${objectId}`, args);
+ },_cache_call_function_res:function (obj) {
+ const id = `dotnet:cfo_res:${this._next_call_function_res_id++}`;
+ this._call_function_res_cache[id] = obj;
+ return id;
+ },mono_wasm_release_object:function (objectId) {
+ if (objectId in this._cache_call_function_res)
+ delete this._cache_call_function_res[objectId];
+ },_create_proxy_from_object_id:function (objectId, details) {
+ if (objectId.startsWith ('dotnet:array:'))
+ {
+ if (details.items === undefined)
+ {
+ const ret = details.map (p => p.value);
+ return ret;
+ }
+ if (details.dimensionsDetails == undefined || details.dimensionsDetails.length == 1)
+ {
+ const ret = details.items.map (p => p.value);
+ return ret;
+ }
+ }
+
+ let proxy = {};
+ Object.keys (details).forEach (p => {
+ var prop = details [p];
+ if (prop.get !== undefined) {
+ Object.defineProperty (proxy,
+ prop.name,
+ { get () { return MONO.mono_wasm_send_dbg_command(prop.get.id, prop.get.commandSet, prop.get.command, prop.get.buffer, prop.get.length); },
+ set: function (newValue) { MONO.mono_wasm_send_dbg_command_with_parms(prop.set.id, prop.set.commandSet, prop.set.command, prop.set.buffer, prop.set.length, prop.set.valtype, newValue); return true;}}
+ );
+ } else if (prop.set !== undefined ){
+ Object.defineProperty (proxy,
+ prop.name,
+ { get () { return prop.value; },
+ set: function (newValue) { MONO.mono_wasm_send_dbg_command_with_parms(prop.set.id, prop.set.commandSet, prop.set.command, prop.set.buffer, prop.set.length, prop.set.valtype, newValue); return true;}}
+ );
+ } else {
+ proxy [prop.name] = prop.value;
+ }
+ });
+ return proxy;
+ },mono_wasm_call_function_on:function (request) {
+ if (request.arguments != undefined && !Array.isArray (request.arguments))
+ throw new Error (`"arguments" should be an array, but was ${request.arguments}`);
+
+ const objId = request.objectId;
+ const details = request.details;
+ let proxy;
+
+ if (objId.startsWith ('dotnet:cfo_res:')) {
+ if (objId in this._call_function_res_cache)
+ proxy = this._call_function_res_cache [objId];
+ else
+ throw new Error (`Unknown object id ${objId}`);
+ } else {
+ proxy = this._create_proxy_from_object_id (objId, details);
+ }
+
+ const fn_args = request.arguments != undefined ? request.arguments.map(a => JSON.stringify(a.value)) : [];
+ const fn_eval_str = `var fn = ${request.functionDeclaration}; fn.call (proxy, ...[${fn_args}]);`;
+
+ const fn_res = eval (fn_eval_str);
+ if (fn_res === undefined)
+ return { type: "undefined" };
+
+ if (Object (fn_res) !== fn_res)
+ {
+ if (typeof(fn_res) == "object" && fn_res == null)
+ return { type: typeof(fn_res), subtype: `${fn_res}`, value: null };
+ return { type: typeof(fn_res), description: `${fn_res}`, value: `${fn_res}`};
+ }
+
+ if (request.returnByValue && fn_res.subtype == undefined)
+ return {type: "object", value: fn_res};
+ if (Object.getPrototypeOf (fn_res) == Array.prototype) {
+
+ const fn_res_id = this._cache_call_function_res (fn_res);
+
+ return {
+ type: "object",
+ subtype: "array",
+ className: "Array",
+ description: `Array(${fn_res.length})`,
+ objectId: fn_res_id
+ };
+ }
+ if (fn_res.value !== undefined || fn_res.subtype !== undefined) {
+ return fn_res;
+ }
+
+ if (fn_res == proxy)
+ return { type: "object", className: "Object", description: "Object", objectId: objId };
+ const fn_res_id = this._cache_call_function_res (fn_res);
+ return { type: "object", className: "Object", description: "Object", objectId: fn_res_id };
+ },_clear_per_step_state:function () {
+ this._next_id_var = 0;
+ this._id_table = {};
+ },mono_wasm_debugger_resume:function () {
+ this._clear_per_step_state ();
+ },mono_wasm_detach_debugger:function () {
+ if (!this.mono_wasm_set_is_debugger_attached)
+ this.mono_wasm_set_is_debugger_attached = Module.cwrap ('mono_wasm_set_is_debugger_attached', 'void', ['bool']);
+ this.mono_wasm_set_is_debugger_attached(false);
+ },_register_c_fn:function (name, ...args) {
+ Object.defineProperty (this._c_fn_table, name + '_wrapper', { value: Module.cwrap (name, ...args) });
+ },_register_c_var_fn:function (name, ret_type, params) {
+ if (ret_type !== 'bool')
+ throw new Error (`Bug: Expected a C function signature that returns bool`);
+
+ this._register_c_fn (name, ret_type, params);
+ Object.defineProperty (this, name + '_info', {
+ value: function (...args) {
+ MONO.var_info = [];
+ const res_ok = MONO._c_fn_table [name + '_wrapper'] (...args);
+ let res = MONO.var_info;
+ MONO.var_info = [];
+ if (res_ok) {
+ res = this._fixup_name_value_objects (res);
+ return { res_ok, res };
+ }
+
+ return { res_ok, res: undefined };
+ }
+ });
+ },mono_wasm_runtime_ready:function () {
+ MONO.commands_received = new Map();
+ MONO.commands_received.remove = function (key) { const value = this.get(key); this.delete(key); return value;};
+ this.mono_wasm_runtime_is_ready = true;
+ this._clear_per_step_state ();
+
+ // FIXME: where should this go?
+ this._next_call_function_res_id = 0;
+ this._call_function_res_cache = {};
+
+ this._c_fn_table = {};
+ this._register_c_fn ('mono_wasm_send_dbg_command', 'bool', [ 'number', 'number', 'number', 'number', 'number' ]);
+ this._register_c_fn ('mono_wasm_send_dbg_command_with_parms', 'bool', [ 'number', 'number', 'number', 'number', 'number', 'number', 'string' ]);
+ this._debugger_buffer_len = -1;
+ // DO NOT REMOVE - magic debugger init function
+ if (globalThis.dotnetDebugger)
+ debugger;
+ else
+ console.debug ("mono_wasm_runtime_ready", "fe00e07a-5519-4dfe-b35a-f867dbaf2e28");
+ },mono_wasm_setenv:function (name, value) {
+ if (!this.wasm_setenv)
+ this.wasm_setenv = Module.cwrap ('mono_wasm_setenv', null, ['string', 'string']);
+ this.wasm_setenv (name, value);
+ },mono_wasm_set_runtime_options:function (options) {
+ if (!this.wasm_parse_runtime_options)
+ this.wasm_parse_runtime_options = Module.cwrap ('mono_wasm_parse_runtime_options', null, ['number', 'number']);
+ var argv = Module._malloc (options.length * 4);
+ var wasm_strdup = Module.cwrap ('mono_wasm_strdup', 'number', ['string']);
+ let aindex = 0;
+ for (var i = 0; i < options.length; ++i) {
+ Module.setValue (argv + (aindex * 4), wasm_strdup (options [i]), "i32");
+ aindex += 1;
+ }
+ this.wasm_parse_runtime_options (options.length, argv);
+ },mono_wasm_init_aot_profiler:function (options) {
+ if (options == null)
+ options = {}
+ if (!('write_at' in options))
+ options.write_at = 'Interop/Runtime::StopProfile';
+ if (!('send_to' in options))
+ options.send_to = 'Interop/Runtime::DumpAotProfileData';
+ var arg = "aot:write-at-method=" + options.write_at + ",send-to-method=" + options.send_to;
+ Module.ccall ('mono_wasm_load_profiler_aot', null, ['string'], [arg]);
+ },mono_wasm_init_coverage_profiler:function (options) {
+ if (options == null)
+ options = {}
+ if (!('write_at' in options))
+ options.write_at = 'WebAssembly.Runtime::StopProfile';
+ if (!('send_to' in options))
+ options.send_to = 'WebAssembly.Runtime::DumpCoverageProfileData';
+ var arg = "coverage:write-at-method=" + options.write_at + ",send-to-method=" + options.send_to;
+ Module.ccall ('mono_wasm_load_profiler_coverage', null, ['string'], [arg]);
+ },_apply_configuration_from_args:function (args) {
+ for (var k in (args.environment_variables || {}))
+ MONO.mono_wasm_setenv (k, args.environment_variables[k]);
+
+ if (args.runtime_options)
+ MONO.mono_wasm_set_runtime_options (args.runtime_options);
+
+ if (args.aot_profiler_options)
+ MONO.mono_wasm_init_aot_profiler (args.aot_profiler_options);
+
+ if (args.coverage_profiler_options)
+ MONO.mono_wasm_init_coverage_profiler (args.coverage_profiler_options);
+ },_get_fetch_file_cb_from_args:function (args) {
+ if (typeof (args.fetch_file_cb) === "function")
+ return args.fetch_file_cb;
+
+ if (ENVIRONMENT_IS_NODE) {
+ var fs = require('fs');
+ return function (asset) {
+ console.debug ("MONO_WASM: Loading... " + asset);
+ var binary = fs.readFileSync (asset);
+ var resolve_func2 = function (resolve, reject) {
+ resolve (new Uint8Array (binary));
+ };
+
+ var resolve_func1 = function (resolve, reject) {
+ var response = {
+ ok: true,
+ url: asset,
+ arrayBuffer: function () {
+ return new Promise (resolve_func2);
+ }
+ };
+ resolve (response);
+ };
+
+ return new Promise (resolve_func1);
+ };
+ } else if (typeof (fetch) === "function") {
+ return function (asset) {
+ return fetch (asset, { credentials: 'same-origin' });
+ };
+ } else {
+ throw new Error ("No fetch_file_cb was provided and this environment does not expose 'fetch'.");
+ }
+ },_handle_loaded_asset:function (ctx, asset, url, blob) {
+ var bytes = new Uint8Array (blob);
+ if (ctx.tracing)
+ console.log ("MONO_WASM: Loaded:", asset.name, "size", bytes.length, "from", url);
+
+ var virtualName = asset.virtual_path || asset.name;
+ var offset = null;
+
+ switch (asset.behavior) {
+ case "resource":
+ case "assembly":
+ ctx.loaded_files.push ({ url: url, file: virtualName});
+ case "heap":
+ case "icu":
+ offset = this.mono_wasm_load_bytes_into_heap (bytes);
+ ctx.loaded_assets[virtualName] = [offset, bytes.length];
+ break;
+
+ case "vfs":
+ // FIXME
+ var lastSlash = virtualName.lastIndexOf("/");
+ var parentDirectory = (lastSlash > 0)
+ ? virtualName.substr(0, lastSlash)
+ : null;
+ var fileName = (lastSlash > 0)
+ ? virtualName.substr(lastSlash + 1)
+ : virtualName;
+ if (fileName.startsWith("/"))
+ fileName = fileName.substr(1);
+ if (parentDirectory) {
+ if (ctx.tracing)
+ console.log ("MONO_WASM: Creating directory '" + parentDirectory + "'");
+
+ var pathRet = ctx.createPath(
+ "/", parentDirectory, true, true // fixme: should canWrite be false?
+ );
+ } else {
+ parentDirectory = "/";
+ }
+
+ if (ctx.tracing)
+ console.log ("MONO_WASM: Creating file '" + fileName + "' in directory '" + parentDirectory + "'");
+
+ if (!this.mono_wasm_load_data_archive (bytes, parentDirectory)) {
+ var fileRet = ctx.createDataFile (
+ parentDirectory, fileName,
+ bytes, true /* canRead */, true /* canWrite */, true /* canOwn */
+ );
+ }
+ break;
+
+ default:
+ throw new Error ("Unrecognized asset behavior:", asset.behavior, "for asset", asset.name);
+ }
+
+ if (asset.behavior === "assembly") {
+ var hasPpdb = ctx.mono_wasm_add_assembly (virtualName, offset, bytes.length);
+
+ if (!hasPpdb) {
+ var index = ctx.loaded_files.findIndex(element => element.file == virtualName);
+ ctx.loaded_files.splice(index, 1);
+ }
+ }
+ else if (asset.behavior === "icu") {
+ if (this.mono_wasm_load_icu_data (offset))
+ ctx.num_icu_assets_loaded_successfully += 1;
+ else
+ console.error ("Error loading ICU asset", asset.name);
+ }
+ else if (asset.behavior === "resource") {
+ ctx.mono_wasm_add_satellite_assembly (virtualName, asset.culture, offset, bytes.length);
+ }
+ },mono_load_runtime_and_bcl:function (
+ unused_vfs_prefix, deploy_prefix, debug_level, file_list, loaded_cb, fetch_file_cb
+ ) {
+ var args = {
+ fetch_file_cb: fetch_file_cb,
+ loaded_cb: loaded_cb,
+ debug_level: debug_level,
+ assembly_root: deploy_prefix,
+ assets: []
+ };
+
+ for (var i = 0; i < file_list.length; i++) {
+ var file_name = file_list[i];
+ var behavior;
+ if (file_name.startsWith ("icudt") && file_name.endsWith (".dat")) {
+ // ICU data files are expected to be "icudt%FilterName%.dat"
+ behavior = "icu";
+ } else { // if (file_name.endsWith (".pdb") || file_name.endsWith (".dll"))
+ behavior = "assembly";
+ }
+
+ args.assets.push ({
+ name: file_name,
+ behavior: behavior
+ });
+ }
+
+ return this.mono_load_runtime_and_bcl_args (args);
+ },mono_load_runtime_and_bcl_args:function (args) {
+ try {
+ return this._load_assets_and_runtime (args);
+ } catch (exc) {
+ console.error ("error in mono_load_runtime_and_bcl_args:", exc);
+ throw exc;
+ }
+ },mono_wasm_load_bytes_into_heap:function (bytes) {
+ var memoryOffset = Module._malloc (bytes.length);
+ var heapBytes = new Uint8Array (Module.HEAPU8.buffer, memoryOffset, bytes.length);
+ heapBytes.set (bytes);
+ return memoryOffset;
+ },num_icu_assets_loaded_successfully:0,mono_wasm_load_icu_data:function (offset) {
+ var fn = Module.cwrap ('mono_wasm_load_icu_data', 'number', ['number']);
+ var ok = (fn (offset)) === 1;
+ if (ok)
+ this.num_icu_assets_loaded_successfully++;
+ return ok;
+ },mono_wasm_get_icudt_name:function (culture) {
+ return Module.ccall ('mono_wasm_get_icudt_name', 'string', ['string'], [culture]);
+ },_finalize_startup:function (args, ctx) {
+ var loaded_files_with_debug_info = [];
+
+ MONO.loaded_assets = ctx.loaded_assets;
+ ctx.loaded_files.forEach(value => loaded_files_with_debug_info.push(value.url));
+ MONO.loaded_files = loaded_files_with_debug_info;
+ if (ctx.tracing) {
+ console.log ("MONO_WASM: loaded_assets: " + JSON.stringify(ctx.loaded_assets));
+ console.log ("MONO_WASM: loaded_files: " + JSON.stringify(ctx.loaded_files));
+ }
+
+ var load_runtime = Module.cwrap ('mono_wasm_load_runtime', null, ['string', 'number']);
+
+ console.debug ("MONO_WASM: Initializing mono runtime");
+
+ this.mono_wasm_globalization_init (args.globalization_mode);
+
+ if (ENVIRONMENT_IS_SHELL || ENVIRONMENT_IS_NODE) {
+ try {
+ load_runtime ("unused", args.debug_level);
+ } catch (ex) {
+ print ("MONO_WASM: load_runtime () failed: " + ex);
+ print ("MONO_WASM: Stacktrace: \n");
+ print (ex.stack);
+
+ var wasm_exit = Module.cwrap ('mono_wasm_exit', null, ['number']);
+ wasm_exit (1);
+ }
+ } else {
+ load_runtime ("unused", args.debug_level);
+ }
+
+ let tz;
+ try {
+ tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
+ } catch {}
+ MONO.mono_wasm_setenv ("TZ", tz || "UTC");
+ MONO.mono_wasm_runtime_ready ();
+ args.loaded_cb ();
+ },_load_assets_and_runtime:function (args) {
+ if (args.enable_debugging)
+ args.debug_level = args.enable_debugging;
+ if (args.assembly_list)
+ throw new Error ("Invalid args (assembly_list was replaced by assets)");
+ if (args.runtime_assets)
+ throw new Error ("Invalid args (runtime_assets was replaced by assets)");
+ if (args.runtime_asset_sources)
+ throw new Error ("Invalid args (runtime_asset_sources was replaced by remote_sources)");
+ if (!args.loaded_cb)
+ throw new Error ("loaded_cb not provided");
+
+ var ctx = {
+ tracing: args.diagnostic_tracing || false,
+ pending_count: args.assets.length,
+ mono_wasm_add_assembly: Module.cwrap ('mono_wasm_add_assembly', 'number', ['string', 'number', 'number']),
+ mono_wasm_add_satellite_assembly: Module.cwrap ('mono_wasm_add_satellite_assembly', 'void', ['string', 'string', 'number', 'number']),
+ loaded_assets: Object.create (null),
+ // dlls and pdbs, used by blazor and the debugger
+ loaded_files: [],
+ createPath: Module['FS_createPath'],
+ createDataFile: Module['FS_createDataFile']
+ };
+
+ if (ctx.tracing)
+ console.log ("mono_wasm_load_runtime_with_args", JSON.stringify(args));
+
+ this._apply_configuration_from_args (args);
+
+ var fetch_file_cb = this._get_fetch_file_cb_from_args (args);
+
+ var onPendingRequestComplete = function () {
+ --ctx.pending_count;
+
+ if (ctx.pending_count === 0) {
+ try {
+ MONO._finalize_startup (args, ctx);
+ } catch (exc) {
+ console.error ("Unhandled exception in _finalize_startup", exc);
+ throw exc;
+ }
+ }
+ };
+
+ var processFetchResponseBuffer = function (asset, url, blob) {
+ try {
+ MONO._handle_loaded_asset (ctx, asset, url, blob);
+ } catch (exc) {
+ console.error ("Unhandled exception in processFetchResponseBuffer", exc);
+ throw exc;
+ } finally {
+ onPendingRequestComplete ();
+ }
+ };
+
+ args.assets.forEach (function (asset) {
+ var attemptNextSource;
+ var sourceIndex = 0;
+ var sourcesList = asset.load_remote ? args.remote_sources : [""];
+
+ var handleFetchResponse = function (response) {
+ if (!response.ok) {
+ try {
+ attemptNextSource ();
+ return;
+ } catch (exc) {
+ console.error ("MONO_WASM: Unhandled exception in handleFetchResponse attemptNextSource for asset", asset.name, exc);
+ throw exc;
+ }
+ }
+
+ try {
+ var bufferPromise = response ['arrayBuffer'] ();
+ bufferPromise.then (processFetchResponseBuffer.bind (this, asset, response.url));
+ } catch (exc) {
+ console.error ("MONO_WASM: Unhandled exception in handleFetchResponse for asset", asset.name, exc);
+ attemptNextSource ();
+ }
+ };
+
+ attemptNextSource = function () {
+ if (sourceIndex >= sourcesList.length) {
+ var msg = "MONO_WASM: Failed to load " + asset.name;
+ try {
+ var isOk = asset.is_optional ||
+ (asset.name.match (/\.pdb$/) && MONO.mono_wasm_ignore_pdb_load_errors);
+
+ if (isOk)
+ console.debug (msg);
+ else {
+ console.error (msg);
+ throw new Error (msg);
+ }
+ } finally {
+ onPendingRequestComplete ();
+ }
+ }
+
+ var sourcePrefix = sourcesList[sourceIndex];
+ sourceIndex++;
+
+ // HACK: Special-case because MSBuild doesn't allow "" as an attribute
+ if (sourcePrefix === "./")
+ sourcePrefix = "";
+
+ var attemptUrl;
+ if (sourcePrefix.trim() === "") {
+ if (asset.behavior === "assembly")
+ attemptUrl = locateFile (args.assembly_root + "/" + asset.name);
+ else if (asset.behavior === "resource") {
+ var path = asset.culture !== '' ? `${asset.culture}/${asset.name}` : asset.name;
+ attemptUrl = locateFile (args.assembly_root + "/" + path);
+ }
+ else
+ attemptUrl = asset.name;
+ } else {
+ attemptUrl = sourcePrefix + asset.name;
+ }
+
+ try {
+ if (asset.name === attemptUrl) {
+ if (ctx.tracing)
+ console.log ("Attempting to fetch '%s'", attemptUrl);
+ } else {
+ if (ctx.tracing)
+ console.log ("Attempting to fetch '%s' for '%s'", attemptUrl, asset.name);
+ }
+ var fetch_promise = fetch_file_cb (attemptUrl);
+ fetch_promise.then (handleFetchResponse);
+ } catch (exc) {
+ console.error ("MONO_WASM: Error fetching '%s'\n%s", attemptUrl, exc);
+ attemptNextSource ();
+ }
+ };
+
+ attemptNextSource ();
+ });
+ },mono_wasm_globalization_init:function (globalization_mode) {
+ var invariantMode = false;
+
+ if (globalization_mode === "invariant")
+ invariantMode = true;
+
+ if (!invariantMode) {
+ if (this.num_icu_assets_loaded_successfully > 0) {
+ console.debug ("MONO_WASM: ICU data archive(s) loaded, disabling invariant mode");
+ } else if (globalization_mode !== "icu") {
+ console.debug ("MONO_WASM: ICU data archive(s) not loaded, using invariant globalization mode");
+ invariantMode = true;
+ } else {
+ var msg = "invariant globalization mode is inactive and no ICU data archives were loaded";
+ console.error ("MONO_WASM: ERROR: " + msg);
+ throw new Error (msg);
+ }
+ }
+
+ if (invariantMode)
+ this.mono_wasm_setenv ("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "1");
+
+ // Set globalization mode to PredefinedCulturesOnly
+ this.mono_wasm_setenv ("DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY", "1");
+ },mono_wasm_get_loaded_files:function() {
+ if (!this.mono_wasm_set_is_debugger_attached)
+ this.mono_wasm_set_is_debugger_attached = Module.cwrap ('mono_wasm_set_is_debugger_attached', 'void', ['bool']);
+ this.mono_wasm_set_is_debugger_attached (true);
+ return MONO.loaded_files;
+ },mono_wasm_get_loaded_asset_table:function() {
+ return MONO.loaded_assets;
+ },_base64_to_uint8:function (base64String) {
+ const byteCharacters = atob (base64String);
+ const byteNumbers = new Array(byteCharacters.length);
+ for (let i = 0; i < byteCharacters.length; i++) {
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
+ }
+
+ return new Uint8Array (byteNumbers);
+ },mono_wasm_load_data_archive:function (data, prefix) {
+ if (data.length < 8)
+ return false;
+
+ var dataview = new DataView(data.buffer);
+ var magic = dataview.getUint32(0, true);
+ // get magic number
+ if (magic != 0x626c6174) {
+ return false;
+ }
+ var manifestSize = dataview.getUint32(4, true);
+ if (manifestSize == 0 || data.length < manifestSize + 8)
+ return false;
+
+ var manifest;
+ try {
+ manifestContent = Module.UTF8ArrayToString(data, 8, manifestSize);
+ manifest = JSON.parse(manifestContent);
+ if (!(manifest instanceof Array))
+ return false;
+ } catch (exc) {
+ return false;
+ }
+
+ data = data.slice(manifestSize+8);
+
+ // Create the folder structure
+ // /usr/share/zoneinfo
+ // /usr/share/zoneinfo/Africa
+ // /usr/share/zoneinfo/Asia
+ // ..
+
+ var folders = new Set()
+ manifest.filter(m => {
+ var file = m[0];
+ var last = file.lastIndexOf ("/");
+ var directory = file.slice (0, last+1);
+ folders.add(directory);
+ });
+ folders.forEach(folder => {
+ Module['FS_createPath'](prefix, folder, true, true);
+ });
+
+ for (row of manifest) {
+ var name = row[0];
+ var length = row[1];
+ var bytes = data.slice(0, length);
+ Module['FS_createDataFile'](prefix, name, bytes, true, true);
+ data = data.slice(length);
+ }
+ return true;
+ },mono_wasm_raise_debug_event:function(event, args={}) {
+ if (typeof event !== 'object')
+ throw new Error(`event must be an object, but got ${JSON.stringify(event)}`);
+
+ if (event.eventName === undefined)
+ throw new Error(`event.eventName is a required parameter, in event: ${JSON.stringify(event)}`);
+
+ if (typeof args !== 'object')
+ throw new Error(`args must be an object, but got ${JSON.stringify(args)}`);
+
+ console.debug('mono_wasm_debug_event_raised:aef14bca-5519-4dfe-b35a-f867abc123ae', JSON.stringify(event), JSON.stringify(args));
+ },mono_wasm_load_config:async function (configFilePath) {
+ Module.addRunDependency(configFilePath);
+ try {
+ let config = null;
+ // NOTE: when we add nodejs make sure to include the nodejs fetch package
+ if (ENVIRONMENT_IS_WEB) {
+ const configRaw = await fetch(configFilePath);
+ config = await configRaw.json();
+ }else if (ENVIRONMENT_IS_NODE) {
+ config = require(configFilePath);
+ } else { // shell or worker
+ config = JSON.parse(read(configFilePath)); // read is a v8 debugger command
+ }
+ Module.config = config;
+ } catch(e) {
+ Module.config = {message: "failed to load config file", error: e};
+ } finally {
+ Module.removeRunDependency(configFilePath);
+ }
+ },mono_wasm_set_timeout_exec:function(id){
+ if (!this.mono_set_timeout_exec)
+ this.mono_set_timeout_exec = Module.cwrap ("mono_set_timeout_exec", null, [ 'number' ]);
+ this.mono_set_timeout_exec (id);
+ },prevent_timer_throttling:function () {
+ // this will schedule timers every second for next 6 minutes, it should be called from WebSocket event, to make it work
+ // on next call, it would only extend the timers to cover yet uncovered future
+ let now = new Date().valueOf();
+ const desired_reach_time = now + (1000 * 60 * 6);
+ const next_reach_time = Math.max(now + 1000, this.spread_timers_maximum);
+ const light_throttling_frequency = 1000;
+ for (var schedule = next_reach_time; schedule < desired_reach_time; schedule += light_throttling_frequency) {
+ const delay = schedule - now;
+ setTimeout(() => {
+ this.mono_wasm_set_timeout_exec(0);
+ MONO.pump_count++;
+ MONO.pump_message();
+ }, delay);
+ }
+ this.spread_timers_maximum = desired_reach_time;
+ }};
+ function _mono_set_timeout(timeout, id) {
+
+ if (typeof globalThis.setTimeout === 'function') {
+ if (MONO.lastScheduleTimeoutId) {
+ globalThis.clearTimeout(MONO.lastScheduleTimeoutId);
+ MONO.lastScheduleTimeoutId = undefined;
+ }
+ MONO.lastScheduleTimeoutId = globalThis.setTimeout(function mono_wasm_set_timeout_exec () {
+ MONO.mono_wasm_set_timeout_exec(id);
+ }, timeout);
+ } else {
+ ++MONO.pump_count;
+ MONO.timeout_queue.push(function() {
+ MONO.mono_wasm_set_timeout_exec (id);
+ })
+ }
+ }
+
+ var BINDING={BINDING_ASM:"[System.Private.Runtime.InteropServices.JavaScript]System.Runtime.InteropServices.JavaScript.Runtime",_cs_owned_objects_by_js_handle:[],_js_handle_free_list:[],_next_js_handle:1,mono_wasm_marshal_enum_as_int:true,mono_bindings_init:function (binding_asm) {
+ this.BINDING_ASM = binding_asm;
+ },export_functions:function (module) {
+ module ["mono_bindings_init"] = BINDING.mono_bindings_init.bind(BINDING);
+ module ["mono_bind_method"] = BINDING.bind_method.bind(BINDING);
+ module ["mono_method_invoke"] = BINDING.call_method.bind(BINDING);
+ module ["mono_method_get_call_signature"] = BINDING.mono_method_get_call_signature.bind(BINDING);
+ module ["mono_method_resolve"] = BINDING.resolve_method_fqn.bind(BINDING);
+ module ["mono_bind_static_method"] = BINDING.bind_static_method.bind(BINDING);
+ module ["mono_call_static_method"] = BINDING.call_static_method.bind(BINDING);
+ module ["mono_bind_assembly_entry_point"] = BINDING.bind_assembly_entry_point.bind(BINDING);
+ module ["mono_call_assembly_entry_point"] = BINDING.call_assembly_entry_point.bind(BINDING);
+ module ["mono_intern_string"] = BINDING.mono_intern_string.bind(BINDING);
+ },bindings_lazy_init:function () {
+ if (this.init)
+ return;
+
+ // avoid infinite recursion
+ this.init = true;
+ this.wasm_type_symbol = Symbol.for("wasm type");
+ this.js_owned_gc_handle_symbol = Symbol.for("wasm js_owned_gc_handle");
+ this.cs_owned_js_handle_symbol = Symbol.for("wasm cs_owned_js_handle");
+ this.delegate_invoke_symbol = Symbol.for("wasm delegate_invoke");
+ this.delegate_invoke_signature_symbol = Symbol.for("wasm delegate_invoke_signature");
+ this.listener_registration_count_symbol = Symbol.for("wasm listener_registration_count");
+
+ // please keep System.Runtime.InteropServices.JavaScript.Runtime.MappedType in sync
+ Object.prototype[this.wasm_type_symbol] = 0;
+ Array.prototype[this.wasm_type_symbol] = 1;
+ ArrayBuffer.prototype[this.wasm_type_symbol] = 2;
+ DataView.prototype[this.wasm_type_symbol] = 3;
+ Function.prototype[this.wasm_type_symbol] = 4;
+ Map.prototype[this.wasm_type_symbol] = 5;
+ if (typeof SharedArrayBuffer !== 'undefined')
+ SharedArrayBuffer.prototype[this.wasm_type_symbol] = 6;
+ Int8Array.prototype[this.wasm_type_symbol] = 10;
+ Uint8Array.prototype[this.wasm_type_symbol] = 11;
+ Uint8ClampedArray.prototype[this.wasm_type_symbol] = 12;
+ Int16Array.prototype[this.wasm_type_symbol] = 13;
+ Uint16Array.prototype[this.wasm_type_symbol] = 14;
+ Int32Array.prototype[this.wasm_type_symbol] = 15;
+ Uint32Array.prototype[this.wasm_type_symbol] = 16;
+ Float32Array.prototype[this.wasm_type_symbol] = 17;
+ Float64Array.prototype[this.wasm_type_symbol] = 18;
+
+ this.assembly_load = Module.cwrap ('mono_wasm_assembly_load', 'number', ['string']);
+ this.find_corlib_class = Module.cwrap ('mono_wasm_find_corlib_class', 'number', ['string', 'string']);
+ this.find_class = Module.cwrap ('mono_wasm_assembly_find_class', 'number', ['number', 'string', 'string']);
+ this._find_method = Module.cwrap ('mono_wasm_assembly_find_method', 'number', ['number', 'string', 'number']);
+ this.invoke_method = Module.cwrap ('mono_wasm_invoke_method', 'number', ['number', 'number', 'number', 'number']);
+ this.mono_string_get_utf8 = Module.cwrap ('mono_wasm_string_get_utf8', 'number', ['number']);
+ this.mono_wasm_string_from_utf16 = Module.cwrap ('mono_wasm_string_from_utf16', 'number', ['number', 'number']);
+ this.mono_get_obj_type = Module.cwrap ('mono_wasm_get_obj_type', 'number', ['number']);
+ this.mono_array_length = Module.cwrap ('mono_wasm_array_length', 'number', ['number']);
+ this.mono_array_get = Module.cwrap ('mono_wasm_array_get', 'number', ['number', 'number']);
+ this.mono_obj_array_new = Module.cwrap ('mono_wasm_obj_array_new', 'number', ['number']);
+ this.mono_obj_array_set = Module.cwrap ('mono_wasm_obj_array_set', 'void', ['number', 'number', 'number']);
+ this.mono_wasm_register_bundled_satellite_assemblies = Module.cwrap ('mono_wasm_register_bundled_satellite_assemblies', 'void', [ ]);
+ this.mono_wasm_try_unbox_primitive_and_get_type = Module.cwrap ('mono_wasm_try_unbox_primitive_and_get_type', 'number', ['number', 'number']);
+ this.mono_wasm_box_primitive = Module.cwrap ('mono_wasm_box_primitive', 'number', ['number', 'number', 'number']);
+ this.mono_wasm_intern_string = Module.cwrap ('mono_wasm_intern_string', 'number', ['number']);
+ this.assembly_get_entry_point = Module.cwrap ('mono_wasm_assembly_get_entry_point', 'number', ['number']);
+ this.mono_wasm_get_delegate_invoke = Module.cwrap ('mono_wasm_get_delegate_invoke', 'number', ['number']);
+ this.mono_wasm_string_array_new = Module.cwrap ('mono_wasm_string_array_new', 'number', ['number']);
+
+ this._box_buffer = Module._malloc(16);
+ this._unbox_buffer = Module._malloc(16);
+ this._class_int32 = this.find_corlib_class ("System", "Int32");
+ this._class_uint32 = this.find_corlib_class ("System", "UInt32");
+ this._class_double = this.find_corlib_class ("System", "Double");
+ this._class_boolean = this.find_corlib_class ("System", "Boolean");
+
+ // receives a byteoffset into allocated Heap with a size.
+ this.mono_typed_array_new = Module.cwrap ('mono_wasm_typed_array_new', 'number', ['number','number','number','number']);
+
+ var binding_fqn_asm = this.BINDING_ASM.substring(this.BINDING_ASM.indexOf ("[") + 1, this.BINDING_ASM.indexOf ("]")).trim();
+ var binding_fqn_class = this.BINDING_ASM.substring (this.BINDING_ASM.indexOf ("]") + 1).trim();
+
+ this.binding_module = this.assembly_load (binding_fqn_asm);
+ if (!this.binding_module)
+ throw "Can't find bindings module assembly: " + binding_fqn_asm;
+
+ var namespace = null, classname = null;
+ if (binding_fqn_class !== null && typeof binding_fqn_class !== "undefined")
+ {
+ namespace = "System.Runtime.InteropServices.JavaScript";
+ classname = binding_fqn_class.length > 0 ? binding_fqn_class : "Runtime";
+ if (binding_fqn_class.indexOf(".") != -1) {
+ var idx = binding_fqn_class.lastIndexOf(".");
+ namespace = binding_fqn_class.substring (0, idx);
+ classname = binding_fqn_class.substring (idx + 1);
+ }
+ }
+
+ var wasm_runtime_class = this.find_class (this.binding_module, namespace, classname);
+ if (!wasm_runtime_class)
+ throw "Can't find " + binding_fqn_class + " class";
+
+ var get_method = function(method_name) {
+ var res = BINDING.find_method (wasm_runtime_class, method_name, -1);
+ if (!res)
+ throw "Can't find method " + namespace + "." + classname + ":" + method_name;
+ return res;
+ };
+
+ var bind_runtime_method = function (method_name, signature) {
+ var method = get_method (method_name);
+ return BINDING.bind_method (method, 0, signature, "BINDINGS_" + method_name);
+ };
+
+ this.get_call_sig = get_method ("GetCallSignature");
+
+ // NOTE: The bound methods have a _ prefix on their names to ensure
+ // that any code relying on the old get_method/call_method pattern will
+ // break in a more understandable way.
+
+ this._get_cs_owned_object_by_js_handle = bind_runtime_method ("GetCSOwnedObjectByJSHandle", "ii!");
+ this._get_cs_owned_object_js_handle = bind_runtime_method ("GetCSOwnedObjectJSHandle", 'mi');
+ this._try_get_cs_owned_object_js_handle = bind_runtime_method ("TryGetCSOwnedObjectJSHandle", "mi");
+ this._create_cs_owned_proxy = bind_runtime_method ("CreateCSOwnedProxy", "iii!");
+
+ this._get_js_owned_object_by_gc_handle = bind_runtime_method ("GetJSOwnedObjectByGCHandle", "i!");
+ this._get_js_owned_object_gc_handle = bind_runtime_method ("GetJSOwnedObjectGCHandle", "m");
+ this._release_js_owned_object_by_gc_handle = bind_runtime_method ("ReleaseJSOwnedObjectByGCHandle", "i");
+
+ this._create_tcs = bind_runtime_method ("CreateTaskSource","");
+ this._set_tcs_result = bind_runtime_method ("SetTaskSourceResult","io");
+ this._set_tcs_failure = bind_runtime_method ("SetTaskSourceFailure","is");
+ this._get_tcs_task = bind_runtime_method ("GetTaskSourceTask","i!");
+ this._setup_js_cont = bind_runtime_method ("SetupJSContinuation", "mo");
+
+ this._object_to_string = bind_runtime_method ("ObjectToString", "m");
+ this._get_date_value = bind_runtime_method ("GetDateValue", "m");
+ this._create_date_time = bind_runtime_method ("CreateDateTime", "d!");
+ this._create_uri = bind_runtime_method ("CreateUri","s!");
+ this._is_simple_array = bind_runtime_method ("IsSimpleArray", "m");
+
+ this._are_promises_supported = ((typeof Promise === "object") || (typeof Promise === "function")) && (typeof Promise.resolve === "function");
+ this.isThenable = (js_obj) => {
+ // When using an external Promise library like Bluebird the Promise.resolve may not be sufficient
+ // to identify the object as a Promise.
+ return Promise.resolve(js_obj) === js_obj ||
+ ((typeof js_obj === "object" || typeof js_obj === "function") && typeof js_obj.then === "function")
+ };
+ this.isChromium = false;
+ if (globalThis.navigator) {
+ var nav = globalThis.navigator;
+ if (nav.userAgentData && nav.userAgentData.brands) {
+ this.isChromium = nav.userAgentData.brands.some((i) => i.brand == 'Chromium');
+ }
+ else if (globalThis.navigator.userAgent) {
+ this.isChromium = nav.userAgent.includes("Chrome");
+ }
+ }
+
+ this._empty_string = "";
+ this._empty_string_ptr = 0;
+ this._interned_string_full_root_buffers = [];
+ this._interned_string_current_root_buffer = null;
+ this._interned_string_current_root_buffer_count = 0;
+ this._interned_js_string_table = new Map ();
+
+ this._js_owned_object_table = new Map ();
+ // NOTE: FinalizationRegistry and WeakRef are missing on Safari below 14.1
+ this._use_finalization_registry = typeof globalThis.FinalizationRegistry === "function";
+ this._use_weak_ref = typeof globalThis.WeakRef === "function";
+
+ if (this._use_finalization_registry) {
+ this._js_owned_object_registry = new globalThis.FinalizationRegistry(this._js_owned_object_finalized.bind(this));
+ }
+ },_js_owned_object_finalized:function (gc_handle) {
+ // The JS object associated with this gc_handle has been collected by the JS GC.
+ // As such, it's not possible for this gc_handle to be invoked by JS anymore, so
+ // we can release the tracking weakref (it's null now, by definition),
+ // and tell the C# side to stop holding a reference to the managed object.
+ this._js_owned_object_table.delete(gc_handle);
+ this._release_js_owned_object_by_gc_handle(gc_handle);
+ },_lookup_js_owned_object:function (gc_handle) {
+ if (!gc_handle)
+ return null;
+ var wr = this._js_owned_object_table.get(gc_handle);
+ if (wr) {
+ return wr.deref();
+ // TODO: could this be null before _js_owned_object_finalized was called ?
+ // TODO: are there race condition consequences ?
+ }
+ return null;
+ },_register_js_owned_object:function (gc_handle, js_obj) {
+ var wr;
+ if (this._use_weak_ref) {
+ wr = new WeakRef(js_obj);
+ }
+ else {
+ // this is trivial WeakRef replacement, which holds strong refrence, instead of weak one, when the browser doesn't support it
+ wr = {
+ deref: () => {
+ return js_obj;
+ }
+ }
+ }
+
+ this._js_owned_object_table.set(gc_handle, wr);
+ },_wrap_js_thenable_as_task:function (thenable) {
+ this.bindings_lazy_init ();
+ if (!thenable)
+ return null;
+
+ // hold strong JS reference to thenable while in flight
+ // ideally, this should be hold alive by lifespan of the resulting C# Task, but this is good cheap aproximation
+ var thenable_js_handle = BINDING.mono_wasm_get_js_handle(thenable);
+
+ // Note that we do not implement promise/task roundtrip.
+ // With more complexity we could recover original instance when this Task is marshaled back to JS.
+ // TODO optimization: return the tcs.Task on this same call instead of _get_tcs_task
+ const tcs_gc_handle = this._create_tcs();
+ thenable.then ((result) => {
+ this._set_tcs_result(tcs_gc_handle, result);
+ // let go of the thenable reference
+ this._mono_wasm_release_js_handle(thenable_js_handle);
+
+ // when FinalizationRegistry is not supported by this browser, we will do immediate cleanup after use
+ if (!this._use_finalization_registry) {
+ this._release_js_owned_object_by_gc_handle(tcs_gc_handle);
+ }
+ }, (reason) => {
+ this._set_tcs_failure(tcs_gc_handle, reason ? reason.toString() : "");
+ // let go of the thenable reference
+ this._mono_wasm_release_js_handle(thenable_js_handle);
+
+ // when FinalizationRegistry is not supported by this browser, we will do immediate cleanup after use
+ if (!this._use_finalization_registry) {
+ this._release_js_owned_object_by_gc_handle(tcs_gc_handle);
+ }
+ });
+
+ // collect the TaskCompletionSource with its Task after js doesn't hold the thenable anymore
+ if (this._use_finalization_registry) {
+ this._js_owned_object_registry.register(thenable, tcs_gc_handle);
+ }
+
+ // returns raw pointer to tcs.Task
+ return this._get_tcs_task(tcs_gc_handle);
+ },_unbox_task_root_as_promise:function (root) {
+ this.bindings_lazy_init ();
+ const self = this;
+ if (root.value === 0)
+ return null;
+
+ if (!this._are_promises_supported)
+ throw new Error ("Promises are not supported thus 'System.Threading.Tasks.Task' can not work in this context.");
+
+ // get strong reference to Task
+ const gc_handle = this._get_js_owned_object_gc_handle(root.value);
+
+ // see if we have js owned instance for this gc_handle already
+ var result = this._lookup_js_owned_object(gc_handle);
+
+ // If the promise for this gc_handle was already collected (or was never created)
+ if (!result) {
+
+ var cont_obj = null;
+ // note that we do not implement promise/task roundtrip
+ // With more complexity we could recover original instance when this promise is marshaled back to C#.
+ var result = new Promise(function (resolve, reject) {
+ if (self._use_finalization_registry) {
+ cont_obj = {
+ resolve: resolve,
+ reject: reject
+ };
+ } else {
+ // when FinalizationRegistry is not supported by this browser, we will do immediate cleanup after use
+ cont_obj = {
+ resolve: function () {
+ const res = resolve.apply(null, arguments);
+ self._js_owned_object_table.delete(gc_handle);
+ self._release_js_owned_object_by_gc_handle(gc_handle);
+ return res;
+ },
+ reject: function () {
+ const res = reject.apply(null, arguments);
+ self._js_owned_object_table.delete(gc_handle);
+ self._release_js_owned_object_by_gc_handle(gc_handle);
+ return res;
+ }
+ };
+ }
+ });
+
+ // register C# side of the continuation
+ this._setup_js_cont (root.value, cont_obj );
+
+ // register for GC of the Task after the JS side is done with the promise
+ if (this._use_finalization_registry) {
+ this._js_owned_object_registry.register(result, gc_handle);
+ }
+
+ // register for instance reuse
+ this._register_js_owned_object(gc_handle, result);
+ }
+
+ return result;
+ },_unbox_ref_type_root_as_js_object:function (root) {
+ this.bindings_lazy_init ();
+ if (root.value === 0)
+ return null;
+
+ // this could be JSObject proxy of a js native object
+ // we don't need in-flight reference as we already have it rooted here
+ var js_handle = this._try_get_cs_owned_object_js_handle (root.value, false);
+ if (js_handle) {
+ if (js_handle===-1){
+ throw new Error("Cannot access a disposed JSObject at " + root.value);
+ }
+ return this.mono_wasm_get_jsobj_from_js_handle(js_handle);
+ }
+ // otherwise this is C# only object
+
+ // get strong reference to Object
+ const gc_handle = this._get_js_owned_object_gc_handle(root.value);
+
+ // see if we have js owned instance for this gc_handle already
+ var result = this._lookup_js_owned_object(gc_handle);
+
+ // If the JS object for this gc_handle was already collected (or was never created)
+ if (!result) {
+ result = {};
+
+ // keep the gc_handle so that we could easily convert it back to original C# object for roundtrip
+ result[BINDING.js_owned_gc_handle_symbol]=gc_handle;
+
+ // NOTE: this would be leaking C# objects when the browser doesn't support FinalizationRegistry/WeakRef
+ if (this._use_finalization_registry) {
+ // register for GC of the C# object after the JS side is done with the object
+ this._js_owned_object_registry.register(result, gc_handle);
+ }
+
+ // register for instance reuse
+ // NOTE: this would be leaking C# objects when the browser doesn't support FinalizationRegistry/WeakRef
+ this._register_js_owned_object(gc_handle, result);
+ }
+
+ return result;
+ },_wrap_delegate_root_as_function:function (root) {
+ this.bindings_lazy_init ();
+ if (root.value === 0)
+ return null;
+
+ // get strong reference to the Delegate
+ const gc_handle = this._get_js_owned_object_gc_handle(root.value);
+ return this._wrap_delegate_gc_handle_as_function(gc_handle);
+ },_wrap_delegate_gc_handle_as_function:function (gc_handle, after_listener_callback) {
+ this.bindings_lazy_init ();
+
+ // see if we have js owned instance for this gc_handle already
+ var result = this._lookup_js_owned_object(gc_handle);
+
+ // If the function for this gc_handle was already collected (or was never created)
+ if (!result) {
+ // note that we do not implement function/delegate roundtrip
+ result = function() {
+ const delegateRoot = MONO.mono_wasm_new_root (BINDING.get_js_owned_object_by_gc_handle(gc_handle));
+ try {
+ const res = BINDING.call_method(result[BINDING.delegate_invoke_symbol], delegateRoot.value, result[BINDING.delegate_invoke_signature_symbol], arguments);
+ if (after_listener_callback) {
+ after_listener_callback();
+ }
+ return res;
+ } finally {
+ delegateRoot.release();
+ }
+ };
+
+ // bind the method
+ const delegateRoot = MONO.mono_wasm_new_root (BINDING.get_js_owned_object_by_gc_handle(gc_handle));
+ try {
+ if (typeof result[BINDING.delegate_invoke_symbol] === "undefined"){
+ result[BINDING.delegate_invoke_symbol] = BINDING.mono_wasm_get_delegate_invoke(delegateRoot.value);
+ if (!result[BINDING.delegate_invoke_symbol]){
+ throw new Error("System.Delegate Invoke method can not be resolved.");
+ }
+ }
+
+ if (typeof result[BINDING.delegate_invoke_signature_symbol] === "undefined"){
+ result[BINDING.delegate_invoke_signature_symbol] = Module.mono_method_get_call_signature (result[BINDING.delegate_invoke_symbol], delegateRoot.value);
+ }
+ } finally {
+ delegateRoot.release();
+ }
+
+ // NOTE: this would be leaking C# objects when the browser doesn't support FinalizationRegistry. Except in case of EventListener where we cleanup after unregistration.
+ if (this._use_finalization_registry) {
+ // register for GC of the deleate after the JS side is done with the function
+ this._js_owned_object_registry.register(result, gc_handle);
+ }
+
+ // register for instance reuse
+ // NOTE: this would be leaking C# objects when the browser doesn't support FinalizationRegistry/WeakRef. Except in case of EventListener where we cleanup after unregistration.
+ this._register_js_owned_object(gc_handle, result);
+ }
+
+ return result;
+ },mono_intern_string:function (string) {
+ if (string.length === 0)
+ return this._empty_string;
+
+ var ptr = this.js_string_to_mono_string_interned (string);
+ var result = MONO.interned_string_table.get (ptr);
+ return result;
+ },_store_string_in_intern_table:function (string, ptr, internIt) {
+ if (!ptr)
+ throw new Error ("null pointer passed to _store_string_in_intern_table");
+ else if (typeof (ptr) !== "number")
+ throw new Error (`non-pointer passed to _store_string_in_intern_table: ${typeof(ptr)}`);
+
+ const internBufferSize = 8192;
+
+ if (this._interned_string_current_root_buffer_count >= internBufferSize) {
+ this._interned_string_full_root_buffers.push (this._interned_string_current_root_buffer);
+ this._interned_string_current_root_buffer = null;
+ }
+ if (!this._interned_string_current_root_buffer) {
+ this._interned_string_current_root_buffer = MONO.mono_wasm_new_root_buffer (internBufferSize, "interned strings");
+ this._interned_string_current_root_buffer_count = 0;
+ }
+
+ var rootBuffer = this._interned_string_current_root_buffer;
+ var index = this._interned_string_current_root_buffer_count++;
+ rootBuffer.set (index, ptr);
+
+ // Store the managed string into the managed intern table. This can theoretically
+ // provide a different managed object than the one we passed in, so update our
+ // pointer (stored in the root) with the result.
+ if (internIt)
+ rootBuffer.set (index, ptr = this.mono_wasm_intern_string (ptr));
+
+ if (!ptr)
+ throw new Error ("mono_wasm_intern_string produced a null pointer");
+
+ this._interned_js_string_table.set (string, ptr);
+ if (!MONO.interned_string_table)
+ MONO.interned_string_table = new Map();
+ MONO.interned_string_table.set (ptr, string);
+
+ if ((string.length === 0) && !this._empty_string_ptr)
+ this._empty_string_ptr = ptr;
+
+ return ptr;
+ },js_string_to_mono_string_interned:function (string) {
+ var text = (typeof (string) === "symbol")
+ ? (string.description || Symbol.keyFor(string) || "")
+ : string;
+
+ if ((text.length === 0) && this._empty_string_ptr)
+ return this._empty_string_ptr;
+
+ var ptr = this._interned_js_string_table.get (string);
+ if (ptr)
+ return ptr;
+
+ ptr = this.js_string_to_mono_string_new (text);
+ ptr = this._store_string_in_intern_table (string, ptr, true);
+
+ return ptr;
+ },js_string_to_mono_string:function (string) {
+ if (string === null)
+ return null;
+ else if (typeof (string) === "symbol")
+ return this.js_string_to_mono_string_interned (string);
+ else if (typeof (string) !== "string")
+ throw new Error ("Expected string argument, got "+ typeof (string));
+
+ // Always use an interned pointer for empty strings
+ if (string.length === 0)
+ return this.js_string_to_mono_string_interned (string);
+
+ // Looking up large strings in the intern table will require the JS runtime to
+ // potentially hash them and then do full byte-by-byte comparisons, which is
+ // very expensive. Because we can not guarantee it won't happen, try to minimize
+ // the cost of this and prevent performance issues for large strings
+ if (string.length <= 256) {
+ var interned = this._interned_js_string_table.get (string);
+ if (interned)
+ return interned;
+ }
+
+ return this.js_string_to_mono_string_new (string);
+ },js_string_to_mono_string_new:function (string) {
+ var buffer = Module._malloc ((string.length + 1) * 2);
+ var buffer16 = (buffer / 2) | 0;
+ for (var i = 0; i < string.length; i++)
+ Module.HEAP16[buffer16 + i] = string.charCodeAt (i);
+ Module.HEAP16[buffer16 + string.length] = 0;
+ var result = this.mono_wasm_string_from_utf16 (buffer, string.length);
+ Module._free (buffer);
+ return result;
+ },find_method:function (klass, name, n) {
+ var result = this._find_method(klass, name, n);
+ if (result) {
+ if (!this._method_descriptions)
+ this._method_descriptions = new Map();
+ this._method_descriptions.set(result, name);
+ }
+ return result;
+ },get_js_obj:function (js_handle) {
+ if (js_handle > 0)
+ return this.mono_wasm_get_jsobj_from_js_handle(js_handle);
+ return null;
+ },_get_string_from_intern_table:function (mono_obj) {
+ if (!MONO.interned_string_table)
+ return undefined;
+ return MONO.interned_string_table.get (mono_obj);
+ },conv_string:function (mono_obj) {
+ return MONO.string_decoder.copy (mono_obj);
+ },is_nested_array:function (ele) {
+ return this._is_simple_array(ele);
+ },mono_array_to_js_array:function (mono_array) {
+ if (mono_array === 0)
+ return null;
+
+ var arrayRoot = MONO.mono_wasm_new_root (mono_array);
+ try {
+ return this._mono_array_root_to_js_array (arrayRoot);
+ } finally {
+ arrayRoot.release();
+ }
+ },_mono_array_root_to_js_array:function (arrayRoot) {
+ if (arrayRoot.value === 0)
+ return null;
+
+ let elemRoot = MONO.mono_wasm_new_root ();
+
+ try {
+ var len = this.mono_array_length (arrayRoot.value);
+ var res = new Array (len);
+ for (var i = 0; i < len; ++i)
+ {
+ elemRoot.value = this.mono_array_get (arrayRoot.value, i);
+
+ if (this.is_nested_array (elemRoot.value))
+ res[i] = this._mono_array_root_to_js_array (elemRoot);
+ else
+ res[i] = this._unbox_mono_obj_root (elemRoot);
+ }
+ } finally {
+ elemRoot.release ();
+ }
+
+ return res;
+ },js_array_to_mono_array:function (js_array, asString, should_add_in_flight) {
+ var mono_array = asString ? this.mono_wasm_string_array_new (js_array.length) : this.mono_obj_array_new (js_array.length);
+ let [arrayRoot, elemRoot] = MONO.mono_wasm_new_roots ([mono_array, 0]);
+
+ try {
+ for (var i = 0; i < js_array.length; ++i) {
+ var obj = js_array[i];
+ if (asString)
+ obj = obj.toString ();
+
+ elemRoot.value = this._js_to_mono_obj (should_add_in_flight, obj);
+ this.mono_obj_array_set (arrayRoot.value, i, elemRoot.value);
+ }
+
+ return mono_array;
+ } finally {
+ MONO.mono_wasm_release_roots (arrayRoot, elemRoot);
+ }
+ },js_to_mono_obj:function (js_obj) {
+ return this._js_to_mono_obj(false, js_obj)
+ },unbox_mono_obj:function (mono_obj) {
+ if (mono_obj === 0)
+ return undefined;
+
+ var root = MONO.mono_wasm_new_root (mono_obj);
+ try {
+ return this._unbox_mono_obj_root (root);
+ } finally {
+ root.release();
+ }
+ },_unbox_cs_owned_root_as_js_object:function (root) {
+ // we don't need in-flight reference as we already have it rooted here
+ var js_handle = this._get_cs_owned_object_js_handle(root.value, false);
+ var js_obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ return js_obj;
+ },_unbox_mono_obj_root_with_known_nonprimitive_type:function (root, type) {
+ if (root.value === undefined)
+ throw new Error(`Expected a root but got ${root}`);
+
+ //See MARSHAL_TYPE_ defines in driver.c
+ switch (type) {
+ case 26: // int64
+ case 27: // uint64
+ // TODO: Fix this once emscripten offers HEAPI64/HEAPU64 or can return them
+ throw new Error ("int64 not available");
+ case 3: // string
+ case 29: // interned string
+ return this.conv_string (root.value);
+ case 4: //vts
+ throw new Error ("no idea on how to unbox value types");
+ case 5: // delegate
+ return this._wrap_delegate_root_as_function (root);
+ case 6: // Task
+ return this._unbox_task_root_as_promise (root);
+ case 7: // ref type
+ return this._unbox_ref_type_root_as_js_object (root);
+ case 10: // arrays
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ throw new Error ("Marshalling of primitive arrays are not supported. Use the corresponding TypedArray instead.");
+ case 20: // clr .NET DateTime
+ var dateValue = this._get_date_value(root.value);
+ return new Date(dateValue);
+ case 21: // clr .NET DateTimeOffset
+ var dateoffsetValue = this._object_to_string (root.value);
+ return dateoffsetValue;
+ case 22: // clr .NET Uri
+ var uriValue = this._object_to_string (root.value);
+ return uriValue;
+ case 23: // clr .NET SafeHandle/JSObject
+ return this._unbox_cs_owned_root_as_js_object (root);
+ case 30:
+ return undefined;
+ default:
+ throw new Error (`no idea on how to unbox object kind ${type} at offset ${root.value} (root address is ${root.get_address()})`);
+ }
+ },_unbox_mono_obj_root:function (root) {
+ if (root.value === 0)
+ return undefined;
+
+ var type = this.mono_wasm_try_unbox_primitive_and_get_type (root.value, this._unbox_buffer);
+ switch (type) {
+ case 1: // int
+ return Module.HEAP32[this._unbox_buffer / 4];
+ case 25: // uint32
+ return Module.HEAPU32[this._unbox_buffer / 4];
+ case 24: // float32
+ return Module.HEAPF32[this._unbox_buffer / 4];
+ case 2: // float64
+ return Module.HEAPF64[this._unbox_buffer / 8];
+ case 8: // boolean
+ return (Module.HEAP32[this._unbox_buffer / 4]) !== 0;
+ case 28: // char
+ return String.fromCharCode(Module.HEAP32[this._unbox_buffer / 4]);
+ default:
+ return this._unbox_mono_obj_root_with_known_nonprimitive_type (root, type);
+ }
+ },js_typedarray_to_heap:function(typedArray){
+ var numBytes = typedArray.length * typedArray.BYTES_PER_ELEMENT;
+ var ptr = Module._malloc(numBytes);
+ var heapBytes = new Uint8Array(Module.HEAPU8.buffer, ptr, numBytes);
+ heapBytes.set(new Uint8Array(typedArray.buffer, typedArray.byteOffset, numBytes));
+ return heapBytes;
+ },_box_js_int:function (js_obj) {
+ Module.HEAP32[this._box_buffer / 4] = js_obj;
+ return this.mono_wasm_box_primitive (this._class_int32, this._box_buffer, 4);
+ },_box_js_uint:function (js_obj) {
+ Module.HEAPU32[this._box_buffer / 4] = js_obj;
+ return this.mono_wasm_box_primitive (this._class_uint32, this._box_buffer, 4);
+ },_box_js_double:function (js_obj) {
+ Module.HEAPF64[this._box_buffer / 8] = js_obj;
+ return this.mono_wasm_box_primitive (this._class_double, this._box_buffer, 8);
+ },_box_js_bool:function (js_obj) {
+ Module.HEAP32[this._box_buffer / 4] = js_obj ? 1 : 0;
+ return this.mono_wasm_box_primitive (this._class_boolean, this._box_buffer, 4);
+ },_js_to_mono_uri:function (should_add_in_flight, js_obj) {
+ this.bindings_lazy_init ();
+
+ switch (true) {
+ case js_obj === null:
+ case typeof js_obj === "undefined":
+ return 0;
+ case typeof js_obj === "symbol":
+ case typeof js_obj === "string":
+ return this._create_uri(js_obj)
+ default:
+ return this._extract_mono_obj (should_add_in_flight, js_obj);
+ }
+ },_js_to_mono_obj:function (should_add_in_flight, js_obj) {
+ this.bindings_lazy_init ();
+
+ switch (true) {
+ case js_obj === null:
+ case typeof js_obj === "undefined":
+ return 0;
+ case typeof js_obj === "number": {
+ if ((js_obj | 0) === js_obj)
+ result = this._box_js_int (js_obj);
+ else if ((js_obj >>> 0) === js_obj)
+ result = this._box_js_uint (js_obj);
+ else
+ result = this._box_js_double (js_obj);
+
+ if (!result)
+ throw new Error (`Boxing failed for ${js_obj}`);
+
+ return result;
+ } case typeof js_obj === "string":
+ return this.js_string_to_mono_string (js_obj);
+ case typeof js_obj === "symbol":
+ return this.js_string_to_mono_string_interned (js_obj);
+ case typeof js_obj === "boolean":
+ return this._box_js_bool (js_obj);
+ case this.isThenable(js_obj) === true:
+ return this._wrap_js_thenable_as_task (js_obj);
+ case js_obj.constructor.name === "Date":
+ // getTime() is always UTC
+ return this._create_date_time(js_obj.getTime());
+ default:
+ return this._extract_mono_obj (should_add_in_flight, js_obj);
+ }
+ },_extract_mono_obj:function (should_add_in_flight, js_obj) {
+ if (js_obj === null || typeof js_obj === "undefined")
+ return 0;
+
+ var result = null;
+ if (js_obj[BINDING.js_owned_gc_handle_symbol]) {
+ // for js_owned_gc_handle we don't want to create new proxy
+ // since this is strong gc_handle we don't need to in-flight reference
+ result = this.get_js_owned_object_by_gc_handle (js_obj[BINDING.js_owned_gc_handle_symbol]);
+ return result;
+ }
+ if (js_obj[BINDING.cs_owned_js_handle_symbol]) {
+ result = this.get_cs_owned_object_by_js_handle (js_obj[BINDING.cs_owned_js_handle_symbol], should_add_in_flight);
+
+ // It's possible the managed object corresponding to this JS object was collected,
+ // in which case we need to make a new one.
+ if (!result) {
+ delete js_obj[BINDING.cs_owned_js_handle_symbol];
+ }
+ }
+
+ if (!result) {
+ // Obtain the JS -> C# type mapping.
+ const wasm_type = js_obj[this.wasm_type_symbol];
+ const wasm_type_id = typeof wasm_type === "undefined" ? 0 : wasm_type;
+
+ var js_handle = BINDING.mono_wasm_get_js_handle(js_obj);
+
+ result = this._create_cs_owned_proxy(js_handle, wasm_type_id, should_add_in_flight);
+ }
+
+ return result;
+ },has_backing_array_buffer:function (js_obj) {
+ return typeof SharedArrayBuffer !== 'undefined'
+ ? js_obj.buffer instanceof ArrayBuffer || js_obj.buffer instanceof SharedArrayBuffer
+ : js_obj.buffer instanceof ArrayBuffer;
+ },js_typed_array_to_array:function (js_obj) {
+
+ // JavaScript typed arrays are array-like objects and provide a mechanism for accessing
+ // raw binary data. (...) To achieve maximum flexibility and efficiency, JavaScript typed arrays
+ // split the implementation into buffers and views. A buffer (implemented by the ArrayBuffer object)
+ // is an object representing a chunk of data; it has no format to speak of, and offers no
+ // mechanism for accessing its contents. In order to access the memory contained in a buffer,
+ // you need to use a view. A view provides a context — that is, a data type, starting offset,
+ // and number of elements — that turns the data into an actual typed array.
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
+ if (!!(this.has_backing_array_buffer(js_obj) && js_obj.BYTES_PER_ELEMENT))
+ {
+ var arrayType = js_obj[this.wasm_type_symbol];
+ var heapBytes = this.js_typedarray_to_heap(js_obj);
+ var bufferArray = this.mono_typed_array_new(heapBytes.byteOffset, js_obj.length, js_obj.BYTES_PER_ELEMENT, arrayType);
+ Module._free(heapBytes.byteOffset);
+ return bufferArray;
+ }
+ else {
+ throw new Error("Object '" + js_obj + "' is not a typed array");
+ }
+
+ },typedarray_copy_to:function (typed_array, pinned_array, begin, end, bytes_per_element) {
+
+ // JavaScript typed arrays are array-like objects and provide a mechanism for accessing
+ // raw binary data. (...) To achieve maximum flexibility and efficiency, JavaScript typed arrays
+ // split the implementation into buffers and views. A buffer (implemented by the ArrayBuffer object)
+ // is an object representing a chunk of data; it has no format to speak of, and offers no
+ // mechanism for accessing its contents. In order to access the memory contained in a buffer,
+ // you need to use a view. A view provides a context — that is, a data type, starting offset,
+ // and number of elements — that turns the data into an actual typed array.
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
+ if (!!(this.has_backing_array_buffer(typed_array) && typed_array.BYTES_PER_ELEMENT))
+ {
+ // Some sanity checks of what is being asked of us
+ // lets play it safe and throw an error here instead of assuming to much.
+ // Better safe than sorry later
+ if (bytes_per_element !== typed_array.BYTES_PER_ELEMENT)
+ throw new Error("Inconsistent element sizes: TypedArray.BYTES_PER_ELEMENT '" + typed_array.BYTES_PER_ELEMENT + "' sizeof managed element: '" + bytes_per_element + "'");
+
+ // how much space we have to work with
+ var num_of_bytes = (end - begin) * bytes_per_element;
+ // how much typed buffer space are we talking about
+ var view_bytes = typed_array.length * typed_array.BYTES_PER_ELEMENT;
+ // only use what is needed.
+ if (num_of_bytes > view_bytes)
+ num_of_bytes = view_bytes;
+
+ // offset index into the view
+ var offset = begin * bytes_per_element;
+
+ // Create a view over the heap pointed to by the pinned array address
+ var heapBytes = new Uint8Array(Module.HEAPU8.buffer, pinned_array + offset, num_of_bytes);
+ // Copy the bytes of the typed array to the heap.
+ heapBytes.set(new Uint8Array(typed_array.buffer, typed_array.byteOffset, num_of_bytes));
+
+ return num_of_bytes;
+ }
+ else {
+ throw new Error("Object '" + typed_array + "' is not a typed array");
+ }
+
+ },typedarray_copy_from:function (typed_array, pinned_array, begin, end, bytes_per_element) {
+
+ // JavaScript typed arrays are array-like objects and provide a mechanism for accessing
+ // raw binary data. (...) To achieve maximum flexibility and efficiency, JavaScript typed arrays
+ // split the implementation into buffers and views. A buffer (implemented by the ArrayBuffer object)
+ // is an object representing a chunk of data; it has no format to speak of, and offers no
+ // mechanism for accessing its contents. In order to access the memory contained in a buffer,
+ // you need to use a view. A view provides a context — that is, a data type, starting offset,
+ // and number of elements — that turns the data into an actual typed array.
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
+ if (!!(this.has_backing_array_buffer(typed_array) && typed_array.BYTES_PER_ELEMENT))
+ {
+ // Some sanity checks of what is being asked of us
+ // lets play it safe and throw an error here instead of assuming to much.
+ // Better safe than sorry later
+ if (bytes_per_element !== typed_array.BYTES_PER_ELEMENT)
+ throw new Error("Inconsistent element sizes: TypedArray.BYTES_PER_ELEMENT '" + typed_array.BYTES_PER_ELEMENT + "' sizeof managed element: '" + bytes_per_element + "'");
+
+ // how much space we have to work with
+ var num_of_bytes = (end - begin) * bytes_per_element;
+ // how much typed buffer space are we talking about
+ var view_bytes = typed_array.length * typed_array.BYTES_PER_ELEMENT;
+ // only use what is needed.
+ if (num_of_bytes > view_bytes)
+ num_of_bytes = view_bytes;
+
+ // Create a new view for mapping
+ var typedarrayBytes = new Uint8Array(typed_array.buffer, 0, num_of_bytes);
+ // offset index into the view
+ var offset = begin * bytes_per_element;
+ // Set view bytes to value from HEAPU8
+ typedarrayBytes.set(Module.HEAPU8.subarray(pinned_array + offset, pinned_array + offset + num_of_bytes));
+ return num_of_bytes;
+ }
+ else {
+ throw new Error("Object '" + typed_array + "' is not a typed array");
+ }
+
+ },typed_array_from:function (pinned_array, begin, end, bytes_per_element, type) {
+
+ // typed array
+ var newTypedArray = 0;
+
+ switch (type)
+ {
+ case 5:
+ newTypedArray = new Int8Array(end - begin);
+ break;
+ case 6:
+ newTypedArray = new Uint8Array(end - begin);
+ break;
+ case 7:
+ newTypedArray = new Int16Array(end - begin);
+ break;
+ case 8:
+ newTypedArray = new Uint16Array(end - begin);
+ break;
+ case 9:
+ newTypedArray = new Int32Array(end - begin);
+ break;
+ case 10:
+ newTypedArray = new Uint32Array(end - begin);
+ break;
+ case 13:
+ newTypedArray = new Float32Array(end - begin);
+ break;
+ case 14:
+ newTypedArray = new Float64Array(end - begin);
+ break;
+ case 15: // This is a special case because the typed array is also byte[]
+ newTypedArray = new Uint8ClampedArray(end - begin);
+ break;
+ }
+
+ this.typedarray_copy_from(newTypedArray, pinned_array, begin, end, bytes_per_element);
+ return newTypedArray;
+ },js_to_mono_enum:function (js_obj, method, parmIdx) {
+ this.bindings_lazy_init ();
+
+ if (typeof (js_obj) !== "number")
+ throw new Error (`Expected numeric value for enum argument, got '${js_obj}'`);
+
+ return js_obj | 0;
+ },get_js_owned_object_by_gc_handle:function (gc_handle)
+ {
+ if(!gc_handle){
+ return 0;
+ }
+ // this is always strong gc_handle
+ return this._get_js_owned_object_by_gc_handle (gc_handle);
+ },get_cs_owned_object_by_js_handle:function (js_handle, should_add_in_flight)
+ {
+ if(!js_handle){
+ return 0;
+ }
+ return this._get_cs_owned_object_by_js_handle (js_handle, should_add_in_flight);
+ },mono_method_get_call_signature:function(method, mono_obj) {
+ let instanceRoot = MONO.mono_wasm_new_root (mono_obj);
+ try {
+ this.bindings_lazy_init ();
+
+ return this.call_method (this.get_call_sig, null, "im", [ method, instanceRoot.value ]);
+ } finally {
+ instanceRoot.release();
+ }
+ },_create_named_function:function (name, argumentNames, body, closure) {
+ var result = null, keys = null, closureArgumentList = null, closureArgumentNames = null;
+
+ if (closure) {
+ closureArgumentNames = Object.keys (closure);
+ closureArgumentList = new Array (closureArgumentNames.length);
+ for (var i = 0, l = closureArgumentNames.length; i < l; i++)
+ closureArgumentList[i] = closure[closureArgumentNames[i]];
+ }
+
+ var constructor = this._create_rebindable_named_function (name, argumentNames, body, closureArgumentNames);
+ result = constructor.apply (null, closureArgumentList);
+
+ return result;
+ },_create_rebindable_named_function:function (name, argumentNames, body, closureArgNames) {
+ var strictPrefix = "\"use strict\";\r\n";
+ var uriPrefix = "", escapedFunctionIdentifier = "";
+
+ if (name) {
+ uriPrefix = "//# sourceURL=https://mono-wasm.invalid/" + name + "\r\n";
+ escapedFunctionIdentifier = name;
+ } else {
+ escapedFunctionIdentifier = "unnamed";
+ }
+
+ var rawFunctionText = "function " + escapedFunctionIdentifier + "(" +
+ argumentNames.join(", ") +
+ ") {\r\n" +
+ body +
+ "\r\n};\r\n";
+
+ var lineBreakRE = /\r(\n?)/g;
+
+ rawFunctionText =
+ uriPrefix + strictPrefix +
+ rawFunctionText.replace(lineBreakRE, "\r\n ") +
+ ` return ${escapedFunctionIdentifier};\r\n`;
+
+ var result = null, keys = null;
+
+ if (closureArgNames) {
+ keys = closureArgNames.concat ([rawFunctionText]);
+ } else {
+ keys = [rawFunctionText];
+ }
+
+ result = Function.apply (Function, keys);
+ return result;
+ },_create_primitive_converters:function () {
+ var result = new Map ();
+ result.set ('m', { steps: [{ }], size: 0});
+ result.set ('s', { steps: [{ convert: this.js_string_to_mono_string.bind (this) }], size: 0, needs_root: true });
+ result.set ('S', { steps: [{ convert: this.js_string_to_mono_string_interned.bind (this) }], size: 0, needs_root: true });
+ // note we also bind first argument to false for both _js_to_mono_obj and _js_to_mono_uri,
+ // because we will root the reference, so we don't need in-flight reference
+ // also as those are callback arguments and we don't have platform code which would release the in-flight reference on C# end
+ result.set ('o', { steps: [{ convert: this._js_to_mono_obj.bind (this, false) }], size: 0, needs_root: true });
+ result.set ('u', { steps: [{ convert: this._js_to_mono_uri.bind (this, false) }], size: 0, needs_root: true });
+
+ // result.set ('k', { steps: [{ convert: this.js_to_mono_enum.bind (this), indirect: 'i64'}], size: 8});
+ result.set ('j', { steps: [{ convert: this.js_to_mono_enum.bind (this), indirect: 'i32'}], size: 8});
+
+ result.set ('i', { steps: [{ indirect: 'i32'}], size: 8});
+ result.set ('l', { steps: [{ indirect: 'i64'}], size: 8});
+ result.set ('f', { steps: [{ indirect: 'float'}], size: 8});
+ result.set ('d', { steps: [{ indirect: 'double'}], size: 8});
+
+ this._primitive_converters = result;
+ return result;
+ },_create_converter_for_marshal_string:function (args_marshal) {
+ var primitiveConverters = this._primitive_converters;
+ if (!primitiveConverters)
+ primitiveConverters = this._create_primitive_converters ();
+
+ var steps = [];
+ var size = 0;
+ var is_result_definitely_unmarshaled = false,
+ is_result_possibly_unmarshaled = false,
+ result_unmarshaled_if_argc = -1,
+ needs_root_buffer = false;
+
+ for (var i = 0; i < args_marshal.length; ++i) {
+ var key = args_marshal[i];
+
+ if (i === args_marshal.length - 1) {
+ if (key === "!") {
+ is_result_definitely_unmarshaled = true;
+ continue;
+ } else if (key === "m") {
+ is_result_possibly_unmarshaled = true;
+ result_unmarshaled_if_argc = args_marshal.length - 1;
+ }
+ } else if (key === "!")
+ throw new Error ("! must be at the end of the signature");
+
+ var conv = primitiveConverters.get (key);
+ if (!conv)
+ throw new Error ("Unknown parameter type " + type);
+
+ var localStep = Object.create (conv.steps[0]);
+ localStep.size = conv.size;
+ if (conv.needs_root)
+ needs_root_buffer = true;
+ localStep.needs_root = conv.needs_root;
+ localStep.key = args_marshal[i];
+ steps.push (localStep);
+ size += conv.size;
+ }
+
+ return {
+ steps: steps, size: size, args_marshal: args_marshal,
+ is_result_definitely_unmarshaled: is_result_definitely_unmarshaled,
+ is_result_possibly_unmarshaled: is_result_possibly_unmarshaled,
+ result_unmarshaled_if_argc: result_unmarshaled_if_argc,
+ needs_root_buffer: needs_root_buffer
+ };
+ },_get_converter_for_marshal_string:function (args_marshal) {
+ if (!this._signature_converters)
+ this._signature_converters = new Map();
+
+ var converter = this._signature_converters.get (args_marshal);
+ if (!converter) {
+ converter = this._create_converter_for_marshal_string (args_marshal);
+ this._signature_converters.set (args_marshal, converter);
+ }
+
+ return converter;
+ },_compile_converter_for_marshal_string:function (args_marshal) {
+ var converter = this._get_converter_for_marshal_string (args_marshal);
+ if (typeof (converter.args_marshal) !== "string")
+ throw new Error ("Corrupt converter for '" + args_marshal + "'");
+
+ if (converter.compiled_function && converter.compiled_variadic_function)
+ return converter;
+
+ var converterName = args_marshal.replace("!", "_result_unmarshaled");
+ converter.name = converterName;
+
+ var body = [];
+ var argumentNames = ["buffer", "rootBuffer", "method"];
+
+ // worst-case allocation size instead of allocating dynamically, plus padding
+ var bufferSizeBytes = converter.size + (args_marshal.length * 4) + 16;
+ var rootBufferSize = args_marshal.length;
+ // ensure the indirect values are 8-byte aligned so that aligned loads and stores will work
+ var indirectBaseOffset = ((((args_marshal.length * 4) + 7) / 8) | 0) * 8;
+
+ var closure = {};
+ var indirectLocalOffset = 0;
+
+ body.push (
+ `if (!buffer) buffer = Module._malloc (${bufferSizeBytes});`,
+ `var indirectStart = buffer + ${indirectBaseOffset};`,
+ "var indirect32 = (indirectStart / 4) | 0, indirect64 = (indirectStart / 8) | 0;",
+ "var buffer32 = (buffer / 4) | 0;",
+ ""
+ );
+
+ for (let i = 0; i < converter.steps.length; i++) {
+ var step = converter.steps[i];
+ var closureKey = "step" + i;
+ var valueKey = "value" + i;
+
+ var argKey = "arg" + i;
+ argumentNames.push (argKey);
+
+ if (step.convert) {
+ closure[closureKey] = step.convert;
+ body.push (`var ${valueKey} = ${closureKey}(${argKey}, method, ${i});`);
+ } else {
+ body.push (`var ${valueKey} = ${argKey};`);
+ }
+
+ if (step.needs_root)
+ body.push (`rootBuffer.set (${i}, ${valueKey});`);
+
+ if (step.indirect) {
+ var heapArrayName = null;
+
+ switch (step.indirect) {
+ case "u32":
+ heapArrayName = "HEAPU32";
+ break;
+ case "i32":
+ heapArrayName = "HEAP32";
+ break;
+ case "float":
+ heapArrayName = "HEAPF32";
+ break;
+ case "double":
+ body.push (`Module.HEAPF64[indirect64 + ${(indirectLocalOffset / 8)}] = ${valueKey};`);
+ break;
+ case "i64":
+ body.push (`Module.setValue (indirectStart + ${indirectLocalOffset}, ${valueKey}, 'i64');`);
+ break;
+ default:
+ throw new Error ("Unimplemented indirect type: " + step.indirect);
+ }
+
+ if (heapArrayName)
+ body.push (`Module.${heapArrayName}[indirect32 + ${(indirectLocalOffset / 4)}] = ${valueKey};`);
+
+ body.push (`Module.HEAP32[buffer32 + ${i}] = indirectStart + ${indirectLocalOffset};`, "");
+ indirectLocalOffset += step.size;
+ } else {
+ body.push (`Module.HEAP32[buffer32 + ${i}] = ${valueKey};`, "");
+ indirectLocalOffset += 4;
+ }
+ }
+
+ body.push ("return buffer;");
+
+ var bodyJs = body.join ("\r\n"), compiledFunction = null, compiledVariadicFunction = null;
+ try {
+ compiledFunction = this._create_named_function("converter_" + converterName, argumentNames, bodyJs, closure);
+ converter.compiled_function = compiledFunction;
+ } catch (exc) {
+ converter.compiled_function = null;
+ console.warn("compiling converter failed for", bodyJs, "with error", exc);
+ throw exc;
+ }
+
+ argumentNames = ["existingBuffer", "rootBuffer", "method", "args"];
+ closure = {
+ converter: compiledFunction
+ };
+ body = [
+ "return converter(",
+ " existingBuffer, rootBuffer, method,"
+ ];
+
+ for (let i = 0; i < converter.steps.length; i++) {
+ body.push(
+ " args[" + i +
+ (
+ (i == converter.steps.length - 1)
+ ? "]"
+ : "], "
+ )
+ );
+ }
+
+ body.push(");");
+
+ bodyJs = body.join ("\r\n");
+ try {
+ compiledVariadicFunction = this._create_named_function("variadic_converter_" + converterName, argumentNames, bodyJs, closure);
+ converter.compiled_variadic_function = compiledVariadicFunction;
+ } catch (exc) {
+ converter.compiled_variadic_function = null;
+ console.warn("compiling converter failed for", bodyJs, "with error", exc);
+ throw exc;
+ }
+
+ converter.scratchRootBuffer = null;
+ converter.scratchBuffer = 0 | 0;
+
+ return converter;
+ },_verify_args_for_method_call:function (args_marshal, args) {
+ var has_args = args && (typeof args === "object") && args.length > 0;
+ var has_args_marshal = typeof args_marshal === "string";
+
+ if (has_args) {
+ if (!has_args_marshal)
+ throw new Error ("No signature provided for method call.");
+ else if (args.length > args_marshal.length)
+ throw new Error ("Too many parameter values. Expected at most " + args_marshal.length + " value(s) for signature " + args_marshal);
+ }
+
+ return has_args_marshal && has_args;
+ },_get_buffer_for_method_call:function (converter) {
+ if (!converter)
+ return 0;
+
+ var result = converter.scratchBuffer;
+ converter.scratchBuffer = 0;
+ return result;
+ },_get_args_root_buffer_for_method_call:function (converter) {
+ if (!converter)
+ return null;
+
+ if (!converter.needs_root_buffer)
+ return null;
+
+ var result;
+ if (converter.scratchRootBuffer) {
+ result = converter.scratchRootBuffer;
+ converter.scratchRootBuffer = null;
+ } else {
+ // TODO: Expand the converter's heap allocation and then use
+ // mono_wasm_new_root_buffer_from_pointer instead. Not that important
+ // at present because the scratch buffer will be reused unless we are
+ // recursing through a re-entrant call
+ result = MONO.mono_wasm_new_root_buffer (converter.steps.length);
+ result.converter = converter;
+ }
+ return result;
+ },_release_args_root_buffer_from_method_call:function (converter, argsRootBuffer) {
+ if (!argsRootBuffer || !converter)
+ return;
+
+ // Store the arguments root buffer for re-use in later calls
+ if (!converter.scratchRootBuffer) {
+ argsRootBuffer.clear ();
+ converter.scratchRootBuffer = argsRootBuffer;
+ } else {
+ argsRootBuffer.release ();
+ }
+ },_release_buffer_from_method_call:function (converter, buffer) {
+ if (!converter || !buffer)
+ return;
+
+ if (!converter.scratchBuffer)
+ converter.scratchBuffer = buffer | 0;
+ else
+ Module._free (buffer | 0);
+ },_convert_exception_for_method_call:function (result, exception) {
+ if (exception === 0)
+ return null;
+
+ var msg = this.conv_string (result);
+ var err = new Error (msg); //the convention is that invoke_method ToString () any outgoing exception
+ // console.warn ("error", msg, "at location", err.stack);
+ return err;
+ },_maybe_produce_signature_warning:function (converter) {
+ if (converter.has_warned_about_signature)
+ return;
+
+ console.warn ("MONO_WASM: Deprecated raw return value signature: '" + converter.args_marshal + "'. End the signature with '!' instead of 'm'.");
+ converter.has_warned_about_signature = true;
+ },_decide_if_result_is_marshaled:function (converter, argc) {
+ if (!converter)
+ return true;
+
+ if (
+ converter.is_result_possibly_unmarshaled &&
+ (argc === converter.result_unmarshaled_if_argc)
+ ) {
+ if (argc < converter.result_unmarshaled_if_argc)
+ throw new Error(["Expected >= ", converter.result_unmarshaled_if_argc, "argument(s) but got", argc, "for signature " + converter.args_marshal].join(" "));
+
+ this._maybe_produce_signature_warning (converter);
+ return false;
+ } else {
+ if (argc < converter.steps.length)
+ throw new Error(["Expected", converter.steps.length, "argument(s) but got", argc, "for signature " + converter.args_marshal].join(" "));
+
+ return !converter.is_result_definitely_unmarshaled;
+ }
+ },call_method:function (method, this_arg, args_marshal, args) {
+ this.bindings_lazy_init ();
+
+ // HACK: Sometimes callers pass null or undefined, coerce it to 0 since that's what wasm expects
+ this_arg = this_arg | 0;
+
+ // Detect someone accidentally passing the wrong type of value to method
+ if ((method | 0) !== method)
+ throw new Error (`method must be an address in the native heap, but was '${method}'`);
+ if (!method)
+ throw new Error ("no method specified");
+
+ var needs_converter = this._verify_args_for_method_call (args_marshal, args);
+
+ var buffer = 0, converter = null, argsRootBuffer = null;
+ var is_result_marshaled = true;
+
+ // check if the method signature needs argument mashalling
+ if (needs_converter) {
+ converter = this._compile_converter_for_marshal_string (args_marshal);
+
+ is_result_marshaled = this._decide_if_result_is_marshaled (converter, args.length);
+
+ argsRootBuffer = this._get_args_root_buffer_for_method_call (converter);
+
+ var scratchBuffer = this._get_buffer_for_method_call (converter);
+
+ buffer = converter.compiled_variadic_function (scratchBuffer, argsRootBuffer, method, args);
+ }
+ return this._call_method_with_converted_args (method, this_arg, converter, buffer, is_result_marshaled, argsRootBuffer);
+ },_handle_exception_for_call:function (
+ converter, buffer, resultRoot, exceptionRoot, argsRootBuffer
+ ) {
+ var exc = this._convert_exception_for_method_call (resultRoot.value, exceptionRoot.value);
+ if (!exc)
+ return;
+
+ this._teardown_after_call (converter, buffer, resultRoot, exceptionRoot, argsRootBuffer);
+ throw exc;
+ },_handle_exception_and_produce_result_for_call:function (
+ converter, buffer, resultRoot, exceptionRoot, argsRootBuffer, is_result_marshaled
+ ) {
+ this._handle_exception_for_call (converter, buffer, resultRoot, exceptionRoot, argsRootBuffer);
+
+ if (is_result_marshaled)
+ result = this._unbox_mono_obj_root (resultRoot);
+ else
+ result = resultRoot.value;
+
+ this._teardown_after_call (converter, buffer, resultRoot, exceptionRoot, argsRootBuffer);
+ return result;
+ },_teardown_after_call:function (converter, buffer, resultRoot, exceptionRoot, argsRootBuffer) {
+ this._release_args_root_buffer_from_method_call (converter, argsRootBuffer);
+ this._release_buffer_from_method_call (converter, buffer | 0);
+
+ if (resultRoot)
+ resultRoot.release ();
+ if (exceptionRoot)
+ exceptionRoot.release ();
+ },_get_method_description:function (method) {
+ if (!this._method_descriptions)
+ this._method_descriptions = new Map();
+
+ var result = this._method_descriptions.get (method);
+ if (!result)
+ result = "method#" + method;
+ return result;
+ },_call_method_with_converted_args:function (method, this_arg, converter, buffer, is_result_marshaled, argsRootBuffer) {
+ var resultRoot = MONO.mono_wasm_new_root (), exceptionRoot = MONO.mono_wasm_new_root ();
+ resultRoot.value = this.invoke_method (method, this_arg, buffer, exceptionRoot.get_address ());
+ return this._handle_exception_and_produce_result_for_call (converter, buffer, resultRoot, exceptionRoot, argsRootBuffer, is_result_marshaled);
+ },bind_method:function (method, this_arg, args_marshal, friendly_name) {
+ this.bindings_lazy_init ();
+
+ this_arg = this_arg | 0;
+
+ var converter = null;
+ if (typeof (args_marshal) === "string")
+ converter = this._compile_converter_for_marshal_string (args_marshal);
+
+ var closure = {
+ library_mono: MONO,
+ binding_support: this,
+ method: method,
+ this_arg: this_arg
+ };
+
+ var converterKey = "converter_" + converter.name;
+
+ if (converter)
+ closure[converterKey] = converter;
+
+ var argumentNames = [];
+ var body = [
+ "var resultRoot = library_mono.mono_wasm_new_root (), exceptionRoot = library_mono.mono_wasm_new_root ();",
+ ""
+ ];
+
+ if (converter) {
+ body.push(
+ `var argsRootBuffer = binding_support._get_args_root_buffer_for_method_call (${converterKey});`,
+ `var scratchBuffer = binding_support._get_buffer_for_method_call (${converterKey});`,
+ `var buffer = ${converterKey}.compiled_function (`,
+ " scratchBuffer, argsRootBuffer, method,"
+ );
+
+ for (var i = 0; i < converter.steps.length; i++) {
+ var argName = "arg" + i;
+ argumentNames.push(argName);
+ body.push(
+ " " + argName +
+ (
+ (i == converter.steps.length - 1)
+ ? ""
+ : ", "
+ )
+ );
+ }
+
+ body.push(");");
+
+ } else {
+ body.push("var argsRootBuffer = null, buffer = 0;");
+ }
+
+ if (converter.is_result_definitely_unmarshaled) {
+ body.push ("var is_result_marshaled = false;");
+ } else if (converter.is_result_possibly_unmarshaled) {
+ body.push (`var is_result_marshaled = arguments.length !== ${converter.result_unmarshaled_if_argc};`);
+ } else {
+ body.push ("var is_result_marshaled = true;");
+ }
+
+ // We inline a bunch of the invoke and marshaling logic here in order to eliminate the GC pressure normally
+ // created by the unboxing part of the call process. Because unbox_mono_obj(_root) can return non-numeric
+ // types, v8 and spidermonkey allocate and store its result on the heap (in the nursery, to be fair).
+ // For a bound method however, we know the result will always be the same type because C# methods have known
+ // return types. Inlining the invoke and marshaling logic means that even though the bound method has logic
+ // for handling various types, only one path through the method (for its appropriate return type) will ever
+ // be taken, and the JIT will see that the 'result' local and thus the return value of this function are
+ // always of the exact same type. All of the branches related to this end up being predicted and low-cost.
+ // The end result is that bound method invocations don't always allocate, so no more nursery GCs. Yay! -kg
+ body.push(
+ "",
+ "resultRoot.value = binding_support.invoke_method (method, this_arg, buffer, exceptionRoot.get_address ());",
+ `binding_support._handle_exception_for_call (${converterKey}, buffer, resultRoot, exceptionRoot, argsRootBuffer);`,
+ "",
+ "var result = undefined;",
+ "if (!is_result_marshaled) ",
+ " result = resultRoot.value;",
+ "else if (resultRoot.value !== 0) {",
+ // For the common scenario where the return type is a primitive, we want to try and unbox it directly
+ // into our existing heap allocation and then read it out of the heap. Doing this all in one operation
+ // means that we only need to enter a gc safe region twice (instead of 3+ times with the normal,
+ // slower check-type-and-then-unbox flow which has extra checks since unbox verifies the type).
+ " var resultType = binding_support.mono_wasm_try_unbox_primitive_and_get_type (resultRoot.value, buffer);",
+ " switch (resultType) {",
+ " case 1:", // int
+ " result = Module.HEAP32[buffer / 4]; break;",
+ " case 25:", // uint32
+ " result = Module.HEAPU32[buffer / 4]; break;",
+ " case 24:", // float32
+ " result = Module.HEAPF32[buffer / 4]; break;",
+ " case 2:", // float64
+ " result = Module.HEAPF64[buffer / 8]; break;",
+ " case 8:", // boolean
+ " result = (Module.HEAP32[buffer / 4]) !== 0; break;",
+ " case 28:", // char
+ " result = String.fromCharCode(Module.HEAP32[buffer / 4]); break;",
+ " default:",
+ " result = binding_support._unbox_mono_obj_root_with_known_nonprimitive_type (resultRoot, resultType); break;",
+ " }",
+ "}",
+ "",
+ `binding_support._teardown_after_call (${converterKey}, buffer, resultRoot, exceptionRoot, argsRootBuffer);`,
+ "return result;"
+ );
+
+ bodyJs = body.join ("\r\n");
+
+ if (friendly_name) {
+ var escapeRE = /[^A-Za-z0-9_]/g;
+ friendly_name = friendly_name.replace(escapeRE, "_");
+ }
+
+ var displayName = "managed_" + (friendly_name || method);
+
+ if (this_arg)
+ displayName += "_with_this_" + this_arg;
+
+ return this._create_named_function(displayName, argumentNames, bodyJs, closure);
+ },resolve_method_fqn:function (fqn) {
+ this.bindings_lazy_init ();
+
+ var assembly = fqn.substring(fqn.indexOf ("[") + 1, fqn.indexOf ("]")).trim();
+ fqn = fqn.substring (fqn.indexOf ("]") + 1).trim();
+
+ var methodname = fqn.substring(fqn.indexOf (":") + 1);
+ fqn = fqn.substring (0, fqn.indexOf (":")).trim ();
+
+ var namespace = "";
+ var classname = fqn;
+ if (fqn.indexOf(".") != -1) {
+ var idx = fqn.lastIndexOf(".");
+ namespace = fqn.substring (0, idx);
+ classname = fqn.substring (idx + 1);
+ }
+
+ if (!assembly.trim())
+ throw new Error("No assembly name specified");
+ if (!classname.trim())
+ throw new Error("No class name specified");
+ if (!methodname.trim())
+ throw new Error("No method name specified");
+
+ var asm = this.assembly_load (assembly);
+ if (!asm)
+ throw new Error ("Could not find assembly: " + assembly);
+
+ var klass = this.find_class(asm, namespace, classname);
+ if (!klass)
+ throw new Error ("Could not find class: " + namespace + ":" + classname + " in assembly " + assembly);
+
+ var method = this.find_method (klass, methodname, -1);
+ if (!method)
+ throw new Error ("Could not find method: " + methodname);
+ return method;
+ },call_static_method:function (fqn, args, signature) {
+ this.bindings_lazy_init ();
+
+ var method = this.resolve_method_fqn (fqn);
+
+ if (typeof signature === "undefined")
+ signature = Module.mono_method_get_call_signature (method);
+
+ return this.call_method (method, null, signature, args);
+ },bind_static_method:function (fqn, signature) {
+ this.bindings_lazy_init ();
+
+ var method = this.resolve_method_fqn (fqn);
+
+ if (typeof signature === "undefined")
+ signature = Module.mono_method_get_call_signature (method);
+
+ return BINDING.bind_method (method, null, signature, fqn);
+ },bind_assembly_entry_point:function (assembly, signature) {
+ this.bindings_lazy_init ();
+
+ var asm = this.assembly_load (assembly);
+ if (!asm)
+ throw new Error ("Could not find assembly: " + assembly);
+
+ var method = this.assembly_get_entry_point(asm);
+ if (!method)
+ throw new Error ("Could not find entry point for assembly: " + assembly);
+
+ if (typeof signature === "undefined")
+ signature = Module.mono_method_get_call_signature (method);
+
+ return function() {
+ try {
+ var args = [...arguments];
+ if (args.length > 0 && Array.isArray (args[0]))
+ args[0] = BINDING.js_array_to_mono_array (args[0], true, false);
+
+ let result = BINDING.call_method (method, null, signature, args);
+ return Promise.resolve (result);
+ } catch (error) {
+ return Promise.reject (error);
+ }
+ };
+ },call_assembly_entry_point:function (assembly, args, signature) {
+ return this.bind_assembly_entry_point (assembly, signature) (...args)
+ },mono_wasm_get_jsobj_from_js_handle:function(js_handle) {
+ if (js_handle > 0)
+ return this._cs_owned_objects_by_js_handle[js_handle];
+ return null;
+ },mono_wasm_get_js_handle:function(js_obj) {
+ if(js_obj[BINDING.cs_owned_js_handle_symbol]){
+ return js_obj[BINDING.cs_owned_js_handle_symbol];
+ }
+ var js_handle = this._js_handle_free_list.length ? this._js_handle_free_list.pop() : this._next_js_handle++;
+ // note _cs_owned_objects_by_js_handle is list, not Map. That's why we maintain _js_handle_free_list.
+ this._cs_owned_objects_by_js_handle[js_handle] = js_obj;
+ js_obj[BINDING.cs_owned_js_handle_symbol] = js_handle;
+ return js_handle;
+ },_mono_wasm_release_js_handle:function(js_handle) {
+ var obj = BINDING._cs_owned_objects_by_js_handle[js_handle];
+ if (typeof obj !== "undefined" && obj !== null) {
+ // if this is the global object then do not
+ // unregister it.
+ if (globalThis === obj)
+ return obj;
+
+ if (typeof obj[BINDING.cs_owned_js_handle_symbol] !== "undefined") {
+ obj[BINDING.cs_owned_js_handle_symbol] = undefined;
+ }
+
+ BINDING._cs_owned_objects_by_js_handle[js_handle] = undefined;
+ BINDING._js_handle_free_list.push(js_handle);
+ }
+ return obj;
+ }};
+ function _mono_wasm_add_event_listener(objHandle, name, listener_gc_handle, optionsHandle) {
+ var nameRoot = MONO.mono_wasm_new_root (name);
+ try {
+ BINDING.bindings_lazy_init ();
+ var sName = BINDING.conv_string(nameRoot.value);
+
+ var obj = BINDING.mono_wasm_get_jsobj_from_js_handle(objHandle);
+ if (!obj)
+ throw new Error("ERR09: Invalid JS object handle for '"+sName+"'");
+
+ const prevent_timer_throttling = !BINDING.isChromium || obj.constructor.name !== 'WebSocket'
+ ? null
+ : () => MONO.prevent_timer_throttling(0);
+
+ var listener = BINDING._wrap_delegate_gc_handle_as_function(listener_gc_handle, prevent_timer_throttling);
+ if (!listener)
+ throw new Error("ERR10: Invalid listener gc_handle");
+
+ var options = optionsHandle
+ ? BINDING.mono_wasm_get_jsobj_from_js_handle(optionsHandle)
+ : null;
+
+ if(!BINDING._use_finalization_registry){
+ // we are counting registrations because same delegate could be registered into multiple sources
+ listener[BINDING.listener_registration_count_symbol] = listener[BINDING.listener_registration_count_symbol] ? listener[BINDING.listener_registration_count_symbol] + 1 : 1;
+ }
+
+ if (options)
+ obj.addEventListener(sName, listener, options);
+ else
+ obj.addEventListener(sName, listener);
+ return 0;
+ } catch (exc) {
+ return BINDING.js_string_to_mono_string(exc.message);
+ } finally {
+ nameRoot.release();
+ }
+ }
+
+ function _mono_wasm_asm_loaded(assembly_name, assembly_ptr, assembly_len, pdb_ptr, pdb_len) {
+ // Only trigger this codepath for assemblies loaded after app is ready
+ if (MONO.mono_wasm_runtime_is_ready !== true)
+ return;
+
+ const assembly_name_str = assembly_name !== 0 ? Module.UTF8ToString(assembly_name).concat('.dll') : '';
+
+ const assembly_data = new Uint8Array(Module.HEAPU8.buffer, assembly_ptr, assembly_len);
+ const assembly_b64 = MONO._base64Converter.toBase64StringImpl(assembly_data);
+
+ let pdb_b64;
+ if (pdb_ptr) {
+ const pdb_data = new Uint8Array(Module.HEAPU8.buffer, pdb_ptr, pdb_len);
+ pdb_b64 = MONO._base64Converter.toBase64StringImpl(pdb_data);
+ }
+
+ MONO.mono_wasm_raise_debug_event({
+ eventName: 'AssemblyLoaded',
+ assembly_name: assembly_name_str,
+ assembly_b64,
+ pdb_b64
+ });
+ }
+
+ function _mono_wasm_create_cs_owned_object(core_name, args, is_exception) {
+ var argsRoot = MONO.mono_wasm_new_root (args), nameRoot = MONO.mono_wasm_new_root (core_name);
+ try {
+ BINDING.bindings_lazy_init ();
+
+ var js_name = BINDING.conv_string (nameRoot.value);
+
+ if (!js_name) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("Invalid name @" + nameRoot.value);
+ }
+
+ var coreObj = globalThis[js_name];
+
+ if (coreObj === null || typeof coreObj === "undefined") {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("JavaScript host object '" + js_name + "' not found.");
+ }
+
+ var js_args = BINDING._mono_array_root_to_js_array(argsRoot);
+
+ try {
+
+ // This is all experimental !!!!!!
+ var allocator = function(constructor, js_args) {
+ // Not sure if we should be checking for anything here
+ var argsList = new Array();
+ argsList[0] = constructor;
+ if (js_args)
+ argsList = argsList.concat (js_args);
+ var tempCtor = constructor.bind.apply (constructor, argsList);
+ var js_obj = new tempCtor ();
+ return js_obj;
+ };
+
+ var js_obj = allocator(coreObj, js_args);
+ var js_handle = BINDING.mono_wasm_get_js_handle(js_obj);
+ // returns boxed js_handle int, because on exception we need to return String on same method signature
+ // here we don't have anything to in-flight reference, as the JSObject doesn't exist yet
+ return BINDING._js_to_mono_obj(false, js_handle);
+ } catch (e) {
+ var res = e.toString ();
+ setValue (is_exception, 1, "i32");
+ if (res === null || res === undefined)
+ res = "Error allocating object.";
+ return BINDING.js_string_to_mono_string (res);
+ }
+ } finally {
+ argsRoot.release();
+ nameRoot.release();
+ }
+ }
+
+ function _mono_wasm_fire_debugger_agent_message() {
+ // eslint-disable-next-line no-debugger
+ debugger;
+ }
+
+ function _mono_wasm_get_by_index(js_handle, property_index, is_exception) {
+ BINDING.bindings_lazy_init ();
+
+ var obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR03: Invalid JS object handle '" + js_handle + "' while getting ["+property_index+"]");
+ }
+
+ try {
+ var m = obj [property_index];
+ return BINDING._js_to_mono_obj (true, m);
+ } catch (e) {
+ var res = e.toString ();
+ setValue (is_exception, 1, "i32");
+ if (res === null || typeof res === "undefined")
+ res = "unknown exception";
+ return BINDING.js_string_to_mono_string (res);
+ }
+ }
+
+ function _mono_wasm_get_global_object(global_name, is_exception) {
+ var nameRoot = MONO.mono_wasm_new_root (global_name);
+ try {
+ BINDING.bindings_lazy_init ();
+
+ var js_name = BINDING.conv_string (nameRoot.value);
+
+ var globalObj;
+
+ if (!js_name) {
+ globalObj = globalThis;
+ }
+ else {
+ globalObj = globalThis[js_name];
+ }
+
+ // TODO returning null may be useful when probing for browser features
+ if (globalObj === null || typeof globalObj === undefined) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("Global object '" + js_name + "' not found.");
+ }
+
+ return BINDING._js_to_mono_obj (true, globalObj);
+ } finally {
+ nameRoot.release();
+ }
+ }
+
+ function _mono_wasm_get_object_property(js_handle, property_name, is_exception) {
+ BINDING.bindings_lazy_init ();
+
+ var nameRoot = MONO.mono_wasm_new_root (property_name);
+ try {
+ var js_name = BINDING.conv_string (nameRoot.value);
+ if (!js_name) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("Invalid property name object '" + nameRoot.value + "'");
+ }
+
+ var obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR01: Invalid JS object handle '" + js_handle + "' while geting '"+js_name+"'");
+ }
+
+ var res;
+ try {
+ var m = obj [js_name];
+
+ return BINDING._js_to_mono_obj (true, m);
+ } catch (e) {
+ var res = e.toString ();
+ setValue (is_exception, 1, "i32");
+ if (res === null || typeof res === "undefined")
+ res = "unknown exception";
+ return BINDING.js_string_to_mono_string (res);
+ }
+ } finally {
+ nameRoot.release();
+ }
+ }
+
+ var DOTNET={conv_string:function (mono_obj) {
+ return MONO.string_decoder.copy (mono_obj);
+ }};
+ function _mono_wasm_invoke_js_blazor(exceptionMessage, callInfo, arg0, arg1, arg2) {
+ var mono_string = globalThis._mono_string_cached
+ || (globalThis._mono_string_cached = Module.cwrap('mono_wasm_string_from_js', 'number', ['string']));
+
+ try {
+ var blazorExports = globalThis.Blazor;
+ if (!blazorExports) {
+ throw new Error('The blazor.webassembly.js library is not loaded.');
+ }
+
+ return blazorExports._internal.invokeJSFromDotNet(callInfo, arg0, arg1, arg2);
+ } catch (ex) {
+ var exceptionJsString = ex.message + '\n' + ex.stack;
+ var exceptionSystemString = mono_string(exceptionJsString);
+ setValue (exceptionMessage, exceptionSystemString, 'i32'); // *exceptionMessage = exceptionSystemString;
+ return 0;
+ }
+ }
+
+ function _mono_wasm_invoke_js_marshalled(exceptionMessage, asyncHandleLongPtr, functionName, argsJson, treatResultAsVoid) {
+
+ var mono_string = globalThis._mono_string_cached
+ || (globalThis._mono_string_cached = Module.cwrap('mono_wasm_string_from_js', 'number', ['string']));
+
+ try {
+ // Passing a .NET long into JS via Emscripten is tricky. The method here is to pass
+ // as pointer to the long, then combine two reads from the HEAPU32 array.
+ // Even though JS numbers can't represent the full range of a .NET long, it's OK
+ // because we'll never exceed Number.MAX_SAFE_INTEGER (2^53 - 1) in this case.
+ //var u32Index = $1 >> 2;
+ var u32Index = asyncHandleLongPtr >> 2;
+ var asyncHandleJsNumber = Module.HEAPU32[u32Index + 1]*4294967296 + Module.HEAPU32[u32Index];
+
+ // var funcNameJsString = UTF8ToString (functionName);
+ // var argsJsonJsString = argsJson && UTF8ToString (argsJson);
+ var funcNameJsString = DOTNET.conv_string(functionName);
+ var argsJsonJsString = argsJson && DOTNET.conv_string (argsJson);
+
+ var dotNetExports = globaThis.DotNet;
+ if (!dotNetExports) {
+ throw new Error('The Microsoft.JSInterop.js library is not loaded.');
+ }
+
+ if (asyncHandleJsNumber) {
+ dotNetExports.jsCallDispatcher.beginInvokeJSFromDotNet(asyncHandleJsNumber, funcNameJsString, argsJsonJsString, treatResultAsVoid);
+ return 0;
+ } else {
+ var resultJson = dotNetExports.jsCallDispatcher.invokeJSFromDotNet(funcNameJsString, argsJsonJsString, treatResultAsVoid);
+ return resultJson === null ? 0 : mono_string(resultJson);
+ }
+ } catch (ex) {
+ var exceptionJsString = ex.message + '\n' + ex.stack;
+ var exceptionSystemString = mono_string(exceptionJsString);
+ setValue (exceptionMessage, exceptionSystemString, 'i32'); // *exceptionMessage = exceptionSystemString;
+ return 0;
+ }
+ }
+
+ function _mono_wasm_invoke_js_unmarshalled(exceptionMessage, funcName, arg0, arg1, arg2) {
+ try {
+ // Get the function you're trying to invoke
+ var funcNameJsString = DOTNET.conv_string(funcName);
+ var dotNetExports = globalThis.DotNet;
+ if (!dotNetExports) {
+ throw new Error('The Microsoft.JSInterop.js library is not loaded.');
+ }
+ var funcInstance = dotNetExports.jsCallDispatcher.findJSFunction(funcNameJsString);
+
+ return funcInstance.call(null, arg0, arg1, arg2);
+ } catch (ex) {
+ var exceptionJsString = ex.message + '\n' + ex.stack;
+ var mono_string = Module.cwrap('mono_wasm_string_from_js', 'number', ['string']); // TODO: Cache
+ var exceptionSystemString = mono_string(exceptionJsString);
+ setValue (exceptionMessage, exceptionSystemString, 'i32'); // *exceptionMessage = exceptionSystemString;
+ return 0;
+ }
+ }
+
+ function _mono_wasm_invoke_js_with_args(js_handle, method_name, args, is_exception) {
+ let argsRoot = MONO.mono_wasm_new_root (args), nameRoot = MONO.mono_wasm_new_root (method_name);
+ try {
+ BINDING.bindings_lazy_init ();
+
+ var js_name = BINDING.conv_string (nameRoot.value);
+ if (!js_name || (typeof(js_name) !== "string")) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR12: Invalid method name object '" + nameRoot.value + "'");
+ }
+
+ var obj = BINDING.get_js_obj (js_handle);
+ if (!obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR13: Invalid JS object handle '" + js_handle + "' while invoking '"+js_name+"'");
+ }
+
+ var js_args = BINDING._mono_array_root_to_js_array(argsRoot);
+
+ var res;
+ try {
+ var m = obj [js_name];
+ if (typeof m === "undefined")
+ throw new Error("Method: '" + js_name + "' not found for: '" + Object.prototype.toString.call(obj) + "'");
+ var res = m.apply (obj, js_args);
+ return BINDING._js_to_mono_obj(true, res);
+ } catch (e) {
+ var res = e.toString ();
+ setValue (is_exception, 1, "i32");
+ if (res === null || res === undefined)
+ res = "unknown exception";
+ return BINDING.js_string_to_mono_string (res);
+ }
+ } finally {
+ argsRoot.release();
+ nameRoot.release();
+ }
+ }
+
+ function _mono_wasm_release_cs_owned_object(js_handle) {
+ BINDING.bindings_lazy_init ();
+ BINDING._mono_wasm_release_js_handle(js_handle);
+ }
+
+ function _mono_wasm_remove_event_listener(objHandle, name, listener_gc_handle, capture) {
+ var nameRoot = MONO.mono_wasm_new_root (name);
+ try {
+ BINDING.bindings_lazy_init ();
+ var obj = BINDING.mono_wasm_get_jsobj_from_js_handle(objHandle);
+ if (!obj)
+ throw new Error("ERR11: Invalid JS object handle");
+ var listener = BINDING._lookup_js_owned_object(listener_gc_handle);
+ // Removing a nonexistent listener should not be treated as an error
+ if (!listener)
+ return;
+ var sName = BINDING.conv_string(nameRoot.value);
+
+ obj.removeEventListener(sName, listener, !!capture);
+ // We do not manually remove the listener from the delegate registry here,
+ // because that same delegate may have been used as an event listener for
+ // other events or event targets. The GC will automatically clean it up
+ // and trigger the FinalizationRegistry handler if it's unused
+
+ // When FinalizationRegistry is not supported by this browser, we cleanup manuall after unregistration
+ if (!BINDING._use_finalization_registry) {
+ listener[BINDING.listener_registration_count_symbol]--;
+ if (listener[BINDING.listener_registration_count_symbol] === 0) {
+ BINDING._js_owned_object_table.delete(listener_gc_handle);
+ BINDING._release_js_owned_object_by_gc_handle(listener_gc_handle);
+ }
+ }
+
+ return 0;
+ } catch (exc) {
+ return BINDING.js_string_to_mono_string(exc.message);
+ } finally {
+ nameRoot.release();
+ }
+ }
+
+ function _mono_wasm_set_by_index(js_handle, property_index, value, is_exception) {
+ var valueRoot = MONO.mono_wasm_new_root (value);
+ try {
+ BINDING.bindings_lazy_init ();
+
+ var obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR04: Invalid JS object handle '" + js_handle + "' while setting ["+property_index+"]");
+ }
+
+ var js_value = BINDING._unbox_mono_obj_root(valueRoot);
+
+ try {
+ obj [property_index] = js_value;
+ return true;
+ } catch (e) {
+ var res = e.toString ();
+ setValue (is_exception, 1, "i32");
+ if (res === null || typeof res === "undefined")
+ res = "unknown exception";
+ return BINDING.js_string_to_mono_string (res);
+ }
+ } finally {
+ valueRoot.release();
+ }
+ }
+
+ function _mono_wasm_set_object_property(js_handle, property_name, value, createIfNotExist, hasOwnProperty, is_exception) {
+ var valueRoot = MONO.mono_wasm_new_root (value), nameRoot = MONO.mono_wasm_new_root (property_name);
+ try {
+ BINDING.bindings_lazy_init ();
+ var property = BINDING.conv_string (nameRoot.value);
+ if (!property) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("Invalid property name object '" + property_name + "'");
+ }
+
+ var js_obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!js_obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR02: Invalid JS object handle '" + js_handle + "' while setting '"+property+"'");
+ }
+
+ var result = false;
+
+ var js_value = BINDING._unbox_mono_obj_root(valueRoot);
+
+ if (createIfNotExist) {
+ js_obj[property] = js_value;
+ result = true;
+ }
+ else {
+ result = false;
+ if (!createIfNotExist)
+ {
+ if (!js_obj.hasOwnProperty(property))
+ return false;
+ }
+ if (hasOwnProperty === true) {
+ if (js_obj.hasOwnProperty(property)) {
+ js_obj[property] = js_value;
+ result = true;
+ }
+ }
+ else {
+ js_obj[property] = js_value;
+ result = true;
+ }
+
+ }
+ return BINDING._box_js_bool (result);
+ } finally {
+ nameRoot.release();
+ valueRoot.release();
+ }
+ }
+
+ function _mono_wasm_typed_array_copy_from(js_handle, pinned_array, begin, end, bytes_per_element, is_exception) {
+ BINDING.bindings_lazy_init ();
+
+ var js_obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!js_obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR08: Invalid JS object handle '" + js_handle + "'");
+ }
+
+ var res = BINDING.typedarray_copy_from(js_obj, pinned_array, begin, end, bytes_per_element);
+ // returns num_of_bytes boxed
+ return BINDING._js_to_mono_obj (false, res)
+ }
+
+ function _mono_wasm_typed_array_copy_to(js_handle, pinned_array, begin, end, bytes_per_element, is_exception) {
+ BINDING.bindings_lazy_init ();
+
+ var js_obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!js_obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR07: Invalid JS object handle '" + js_handle + "'");
+ }
+
+ var res = BINDING.typedarray_copy_to(js_obj, pinned_array, begin, end, bytes_per_element);
+ // returns num_of_bytes boxed
+ return BINDING._js_to_mono_obj (false, res)
+ }
+
+ function _mono_wasm_typed_array_from(pinned_array, begin, end, bytes_per_element, type, is_exception) {
+ BINDING.bindings_lazy_init ();
+ var res = BINDING.typed_array_from(pinned_array, begin, end, bytes_per_element, type);
+ // returns JS typed array like Int8Array, to be wraped with JSObject proxy
+ return BINDING._js_to_mono_obj (true, res)
+ }
+
+ function _mono_wasm_typed_array_to_array(js_handle, is_exception) {
+ BINDING.bindings_lazy_init ();
+
+ var js_obj = BINDING.mono_wasm_get_jsobj_from_js_handle (js_handle);
+ if (!js_obj) {
+ setValue (is_exception, 1, "i32");
+ return BINDING.js_string_to_mono_string ("ERR06: Invalid JS object handle '" + js_handle + "'");
+ }
+
+ // returns pointer to C# array
+ return BINDING.js_typed_array_to_array(js_obj, false);
+ }
+
+ function _pthread_create() {
+ return 6;
+ }
+
+ function _pthread_join() {
+ return 28;
+ }
+
+ function _schedule_background_exec() {
+ ++MONO.pump_count;
+ if (typeof globalThis.setTimeout === 'function') {
+ globalThis.setTimeout (MONO.pump_message, 0);
+ }
+ }
+
+ function _setTempRet0(val) {
+ setTempRet0(val);
+ }
+
+ function __isLeapYear(year) {
+ return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
+ }
+
+ function __arraySum(array, index) {
+ var sum = 0;
+ for (var i = 0; i <= index; sum += array[i++]) {
+ // no-op
+ }
+ return sum;
+ }
+
+ var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];
+
+ var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];
+ function __addDays(date, days) {
+ var newDate = new Date(date.getTime());
+ while (days > 0) {
+ var leap = __isLeapYear(newDate.getFullYear());
+ var currentMonth = newDate.getMonth();
+ var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
+
+ if (days > daysInCurrentMonth-newDate.getDate()) {
+ // we spill over to next month
+ days -= (daysInCurrentMonth-newDate.getDate()+1);
+ newDate.setDate(1);
+ if (currentMonth < 11) {
+ newDate.setMonth(currentMonth+1)
+ } else {
+ newDate.setMonth(0);
+ newDate.setFullYear(newDate.getFullYear()+1);
+ }
+ } else {
+ // we stay in current month
+ newDate.setDate(newDate.getDate()+days);
+ return newDate;
+ }
+ }
+
+ return newDate;
+ }
+ function _strftime(s, maxsize, format, tm) {
+ // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
+
+ var tm_zone = HEAP32[(((tm)+(40))>>2)];
+
+ var date = {
+ tm_sec: HEAP32[((tm)>>2)],
+ tm_min: HEAP32[(((tm)+(4))>>2)],
+ tm_hour: HEAP32[(((tm)+(8))>>2)],
+ tm_mday: HEAP32[(((tm)+(12))>>2)],
+ tm_mon: HEAP32[(((tm)+(16))>>2)],
+ tm_year: HEAP32[(((tm)+(20))>>2)],
+ tm_wday: HEAP32[(((tm)+(24))>>2)],
+ tm_yday: HEAP32[(((tm)+(28))>>2)],
+ tm_isdst: HEAP32[(((tm)+(32))>>2)],
+ tm_gmtoff: HEAP32[(((tm)+(36))>>2)],
+ tm_zone: tm_zone ? UTF8ToString(tm_zone) : ''
+ };
+
+ var pattern = UTF8ToString(format);
+
+ // expand format
+ var EXPANSION_RULES_1 = {
+ '%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013
+ '%D': '%m/%d/%y', // Equivalent to %m / %d / %y
+ '%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d
+ '%h': '%b', // Equivalent to %b
+ '%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation
+ '%R': '%H:%M', // Replaced by the time in 24-hour notation
+ '%T': '%H:%M:%S', // Replaced by the time
+ '%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation
+ '%X': '%H:%M:%S', // Replaced by the locale's appropriate time representation
+ // Modified Conversion Specifiers
+ '%Ec': '%c', // Replaced by the locale's alternative appropriate date and time representation.
+ '%EC': '%C', // Replaced by the name of the base year (period) in the locale's alternative representation.
+ '%Ex': '%m/%d/%y', // Replaced by the locale's alternative date representation.
+ '%EX': '%H:%M:%S', // Replaced by the locale's alternative time representation.
+ '%Ey': '%y', // Replaced by the offset from %EC (year only) in the locale's alternative representation.
+ '%EY': '%Y', // Replaced by the full alternative year representation.
+ '%Od': '%d', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading zeros if there is any alternative symbol for zero; otherwise, with leading characters.
+ '%Oe': '%e', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading characters.
+ '%OH': '%H', // Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols.
+ '%OI': '%I', // Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols.
+ '%Om': '%m', // Replaced by the month using the locale's alternative numeric symbols.
+ '%OM': '%M', // Replaced by the minutes using the locale's alternative numeric symbols.
+ '%OS': '%S', // Replaced by the seconds using the locale's alternative numeric symbols.
+ '%Ou': '%u', // Replaced by the weekday as a number in the locale's alternative representation (Monday=1).
+ '%OU': '%U', // Replaced by the week number of the year (Sunday as the first day of the week, rules corresponding to %U ) using the locale's alternative numeric symbols.
+ '%OV': '%V', // Replaced by the week number of the year (Monday as the first day of the week, rules corresponding to %V ) using the locale's alternative numeric symbols.
+ '%Ow': '%w', // Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols.
+ '%OW': '%W', // Replaced by the week number of the year (Monday as the first day of the week) using the locale's alternative numeric symbols.
+ '%Oy': '%y', // Replaced by the year (offset from %C ) using the locale's alternative numeric symbols.
+ };
+ for (var rule in EXPANSION_RULES_1) {
+ pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
+ }
+
+ var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
+ var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
+
+ function leadingSomething(value, digits, character) {
+ var str = typeof value === 'number' ? value.toString() : (value || '');
+ while (str.length < digits) {
+ str = character[0]+str;
+ }
+ return str;
+ }
+
+ function leadingNulls(value, digits) {
+ return leadingSomething(value, digits, '0');
+ }
+
+ function compareByDay(date1, date2) {
+ function sgn(value) {
+ return value < 0 ? -1 : (value > 0 ? 1 : 0);
+ }
+
+ var compare;
+ if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
+ if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
+ compare = sgn(date1.getDate()-date2.getDate());
+ }
+ }
+ return compare;
+ }
+
+ function getFirstWeekStartDate(janFourth) {
+ switch (janFourth.getDay()) {
+ case 0: // Sunday
+ return new Date(janFourth.getFullYear()-1, 11, 29);
+ case 1: // Monday
+ return janFourth;
+ case 2: // Tuesday
+ return new Date(janFourth.getFullYear(), 0, 3);
+ case 3: // Wednesday
+ return new Date(janFourth.getFullYear(), 0, 2);
+ case 4: // Thursday
+ return new Date(janFourth.getFullYear(), 0, 1);
+ case 5: // Friday
+ return new Date(janFourth.getFullYear()-1, 11, 31);
+ case 6: // Saturday
+ return new Date(janFourth.getFullYear()-1, 11, 30);
+ }
+ }
+
+ function getWeekBasedYear(date) {
+ var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
+
+ var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
+ var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
+
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+
+ if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
+ // this date is after the start of the first week of this year
+ if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
+ return thisDate.getFullYear()+1;
+ } else {
+ return thisDate.getFullYear();
+ }
+ } else {
+ return thisDate.getFullYear()-1;
+ }
+ }
+
+ var EXPANSION_RULES_2 = {
+ '%a': function(date) {
+ return WEEKDAYS[date.tm_wday].substring(0,3);
+ },
+ '%A': function(date) {
+ return WEEKDAYS[date.tm_wday];
+ },
+ '%b': function(date) {
+ return MONTHS[date.tm_mon].substring(0,3);
+ },
+ '%B': function(date) {
+ return MONTHS[date.tm_mon];
+ },
+ '%C': function(date) {
+ var year = date.tm_year+1900;
+ return leadingNulls((year/100)|0,2);
+ },
+ '%d': function(date) {
+ return leadingNulls(date.tm_mday, 2);
+ },
+ '%e': function(date) {
+ return leadingSomething(date.tm_mday, 2, ' ');
+ },
+ '%g': function(date) {
+ // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year.
+ // In this system, weeks begin on a Monday and week 1 of the year is the week that includes
+ // January 4th, which is also the week that includes the first Thursday of the year, and
+ // is also the first week that contains at least four days in the year.
+ // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of
+ // the last week of the preceding year; thus, for Saturday 2nd January 1999,
+ // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th,
+ // or 31st is a Monday, it and any following days are part of week 1 of the following year.
+ // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
+
+ return getWeekBasedYear(date).toString().substring(2);
+ },
+ '%G': function(date) {
+ return getWeekBasedYear(date);
+ },
+ '%H': function(date) {
+ return leadingNulls(date.tm_hour, 2);
+ },
+ '%I': function(date) {
+ var twelveHour = date.tm_hour;
+ if (twelveHour == 0) twelveHour = 12;
+ else if (twelveHour > 12) twelveHour -= 12;
+ return leadingNulls(twelveHour, 2);
+ },
+ '%j': function(date) {
+ // Day of the year (001-366)
+ return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
+ },
+ '%m': function(date) {
+ return leadingNulls(date.tm_mon+1, 2);
+ },
+ '%M': function(date) {
+ return leadingNulls(date.tm_min, 2);
+ },
+ '%n': function() {
+ return '\n';
+ },
+ '%p': function(date) {
+ if (date.tm_hour >= 0 && date.tm_hour < 12) {
+ return 'AM';
+ } else {
+ return 'PM';
+ }
+ },
+ '%S': function(date) {
+ return leadingNulls(date.tm_sec, 2);
+ },
+ '%t': function() {
+ return '\t';
+ },
+ '%u': function(date) {
+ return date.tm_wday || 7;
+ },
+ '%U': function(date) {
+ // Replaced by the week number of the year as a decimal number [00,53].
+ // The first Sunday of January is the first day of week 1;
+ // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
+ var janFirst = new Date(date.tm_year+1900, 0, 1);
+ var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7-janFirst.getDay());
+ var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
+
+ // is target date after the first Sunday?
+ if (compareByDay(firstSunday, endDate) < 0) {
+ // calculate difference in days between first Sunday and endDate
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
+ var firstSundayUntilEndJanuary = 31-firstSunday.getDate();
+ var days = firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
+ return leadingNulls(Math.ceil(days/7), 2);
+ }
+
+ return compareByDay(firstSunday, janFirst) === 0 ? '01': '00';
+ },
+ '%V': function(date) {
+ // Replaced by the week number of the year (Monday as the first day of the week)
+ // as a decimal number [01,53]. If the week containing 1 January has four
+ // or more days in the new year, then it is considered week 1.
+ // Otherwise, it is the last week of the previous year, and the next week is week 1.
+ // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
+ var janFourthThisYear = new Date(date.tm_year+1900, 0, 4);
+ var janFourthNextYear = new Date(date.tm_year+1901, 0, 4);
+
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+
+ var endDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
+
+ if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
+ // if given date is before this years first week, then it belongs to the 53rd week of last year
+ return '53';
+ }
+
+ if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
+ // if given date is after next years first week, then it belongs to the 01th week of next year
+ return '01';
+ }
+
+ // given date is in between CW 01..53 of this calendar year
+ var daysDifference;
+ if (firstWeekStartThisYear.getFullYear() < date.tm_year+1900) {
+ // first CW of this year starts last year
+ daysDifference = date.tm_yday+32-firstWeekStartThisYear.getDate()
+ } else {
+ // first CW of this year starts this year
+ daysDifference = date.tm_yday+1-firstWeekStartThisYear.getDate();
+ }
+ return leadingNulls(Math.ceil(daysDifference/7), 2);
+ },
+ '%w': function(date) {
+ return date.tm_wday;
+ },
+ '%W': function(date) {
+ // Replaced by the week number of the year as a decimal number [00,53].
+ // The first Monday of January is the first day of week 1;
+ // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
+ var janFirst = new Date(date.tm_year, 0, 1);
+ var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7-janFirst.getDay()+1);
+ var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
+
+ // is target date after the first Monday?
+ if (compareByDay(firstMonday, endDate) < 0) {
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
+ var firstMondayUntilEndJanuary = 31-firstMonday.getDate();
+ var days = firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
+ return leadingNulls(Math.ceil(days/7), 2);
+ }
+ return compareByDay(firstMonday, janFirst) === 0 ? '01': '00';
+ },
+ '%y': function(date) {
+ // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
+ return (date.tm_year+1900).toString().substring(2);
+ },
+ '%Y': function(date) {
+ // Replaced by the year as a decimal number (for example, 1997). [ tm_year]
+ return date.tm_year+1900;
+ },
+ '%z': function(date) {
+ // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ).
+ // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich).
+ var off = date.tm_gmtoff;
+ var ahead = off >= 0;
+ off = Math.abs(off) / 60;
+ // convert from minutes into hhmm format (which means 60 minutes = 100 units)
+ off = (off / 60)*100 + (off % 60);
+ return (ahead ? '+' : '-') + String("0000" + off).slice(-4);
+ },
+ '%Z': function(date) {
+ return date.tm_zone;
+ },
+ '%%': function() {
+ return '%';
+ }
+ };
+ for (var rule in EXPANSION_RULES_2) {
+ if (pattern.includes(rule)) {
+ pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
+ }
+ }
+
+ var bytes = intArrayFromString(pattern, false);
+ if (bytes.length > maxsize) {
+ return 0;
+ }
+
+ writeArrayToMemory(bytes, s);
+ return bytes.length-1;
+ }
+
+ function _time(ptr) {
+ var ret = (Date.now()/1000)|0;
+ if (ptr) {
+ HEAP32[((ptr)>>2)] = ret;
+ }
+ return ret;
+ }
+
+
+ function setFileTime(path, time) {
+ path = UTF8ToString(path);
+ try {
+ FS.utime(path, time, time);
+ return 0;
+ } catch (e) {
+ if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
+ setErrNo(e.errno);
+ return -1;
+ }
+ }
+ function _utimes(path, times) {
+ // utimes is just like utime but take an array of 2 times: `struct timeval times[2]`
+ // times[0] is the new access time (which we currently ignore)
+ // times[1] is the new modification time.
+ var time;
+ if (times) {
+ var mtime = times + 8;
+ time = HEAP32[((mtime)>>2)] * 1000;
+ time += HEAP32[(((mtime)+(4))>>2)] / 1000;
+ } else {
+ time = Date.now();
+ }
+ return setFileTime(path, time);
+ }
+
+var FSNode = /** @constructor */ function(parent, name, mode, rdev) {
+ if (!parent) {
+ parent = this; // root node sets parent to itself
+ }
+ this.parent = parent;
+ this.mount = parent.mount;
+ this.mounted = null;
+ this.id = FS.nextInode++;
+ this.name = name;
+ this.mode = mode;
+ this.node_ops = {};
+ this.stream_ops = {};
+ this.rdev = rdev;
+ };
+ var readMode = 292/*292*/ | 73/*73*/;
+ var writeMode = 146/*146*/;
+ Object.defineProperties(FSNode.prototype, {
+ read: {
+ get: /** @this{FSNode} */function() {
+ return (this.mode & readMode) === readMode;
+ },
+ set: /** @this{FSNode} */function(val) {
+ val ? this.mode |= readMode : this.mode &= ~readMode;
+ }
+ },
+ write: {
+ get: /** @this{FSNode} */function() {
+ return (this.mode & writeMode) === writeMode;
+ },
+ set: /** @this{FSNode} */function(val) {
+ val ? this.mode |= writeMode : this.mode &= ~writeMode;
+ }
+ },
+ isFolder: {
+ get: /** @this{FSNode} */function() {
+ return FS.isDir(this.mode);
+ }
+ },
+ isDevice: {
+ get: /** @this{FSNode} */function() {
+ return FS.isChrdev(this.mode);
+ }
+ }
+ });
+ FS.FSNode = FSNode;
+ FS.staticInit();Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
+MONO.export_functions (Module);;
+BINDING.export_functions (Module);;
+var ASSERTIONS = false;
+
+
+
+/** @type {function(string, boolean=, number=)} */
+function intArrayFromString(stringy, dontAddNull, length) {
+ var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
+ var u8array = new Array(len);
+ var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
+ if (dontAddNull) u8array.length = numBytesWritten;
+ return u8array;
+}
+
+function intArrayToString(array) {
+ var ret = [];
+ for (var i = 0; i < array.length; i++) {
+ var chr = array[i];
+ if (chr > 0xFF) {
+ if (ASSERTIONS) {
+ assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
+ }
+ chr &= 0xFF;
+ }
+ ret.push(String.fromCharCode(chr));
+ }
+ return ret.join('');
+}
+
+
+var asmLibraryArg = {
+ "__assert_fail": ___assert_fail,
+ "__clock_gettime": ___clock_gettime,
+ "__cxa_allocate_exception": ___cxa_allocate_exception,
+ "__cxa_begin_catch": ___cxa_begin_catch,
+ "__cxa_end_catch": ___cxa_end_catch,
+ "__cxa_find_matching_catch_2": ___cxa_find_matching_catch_2,
+ "__cxa_find_matching_catch_3": ___cxa_find_matching_catch_3,
+ "__cxa_free_exception": ___cxa_free_exception,
+ "__cxa_rethrow": ___cxa_rethrow,
+ "__cxa_throw": ___cxa_throw,
+ "__localtime_r": ___localtime_r,
+ "__resumeException": ___resumeException,
+ "__sys_access": ___sys_access,
+ "__sys_chdir": ___sys_chdir,
+ "__sys_chmod": ___sys_chmod,
+ "__sys_chown32": ___sys_chown32,
+ "__sys_connect": ___sys_connect,
+ "__sys_fadvise64_64": ___sys_fadvise64_64,
+ "__sys_fchmod": ___sys_fchmod,
+ "__sys_fchown32": ___sys_fchown32,
+ "__sys_fcntl64": ___sys_fcntl64,
+ "__sys_fstat64": ___sys_fstat64,
+ "__sys_fstatfs64": ___sys_fstatfs64,
+ "__sys_ftruncate64": ___sys_ftruncate64,
+ "__sys_getcwd": ___sys_getcwd,
+ "__sys_getdents64": ___sys_getdents64,
+ "__sys_geteuid32": ___sys_geteuid32,
+ "__sys_getpid": ___sys_getpid,
+ "__sys_getrusage": ___sys_getrusage,
+ "__sys_ioctl": ___sys_ioctl,
+ "__sys_link": ___sys_link,
+ "__sys_lstat64": ___sys_lstat64,
+ "__sys_madvise1": ___sys_madvise1,
+ "__sys_mkdir": ___sys_mkdir,
+ "__sys_mmap2": ___sys_mmap2,
+ "__sys_msync": ___sys_msync,
+ "__sys_munmap": ___sys_munmap,
+ "__sys_open": ___sys_open,
+ "__sys_readlink": ___sys_readlink,
+ "__sys_recvfrom": ___sys_recvfrom,
+ "__sys_rename": ___sys_rename,
+ "__sys_rmdir": ___sys_rmdir,
+ "__sys_sendto": ___sys_sendto,
+ "__sys_setsockopt": ___sys_setsockopt,
+ "__sys_shutdown": ___sys_shutdown,
+ "__sys_socket": ___sys_socket,
+ "__sys_stat64": ___sys_stat64,
+ "__sys_symlink": ___sys_symlink,
+ "__sys_unlink": ___sys_unlink,
+ "__sys_utimensat": ___sys_utimensat,
+ "abort": _abort,
+ "clock_getres": _clock_getres,
+ "clock_gettime": _clock_gettime,
+ "compile_function": compile_function,
+ "difftime": _difftime,
+ "dlclose": _dlclose,
+ "dlerror": _dlerror,
+ "dlopen": _dlopen,
+ "dlsym": _dlsym,
+ "dotnet_browser_entropy": _dotnet_browser_entropy,
+ "emscripten_asm_const_int": _emscripten_asm_const_int,
+ "emscripten_get_heap_max": _emscripten_get_heap_max,
+ "emscripten_memcpy_big": _emscripten_memcpy_big,
+ "emscripten_resize_heap": _emscripten_resize_heap,
+ "emscripten_thread_sleep": _emscripten_thread_sleep,
+ "environ_get": _environ_get,
+ "environ_sizes_get": _environ_sizes_get,
+ "exit": _exit,
+ "fd_close": _fd_close,
+ "fd_fdstat_get": _fd_fdstat_get,
+ "fd_pread": _fd_pread,
+ "fd_pwrite": _fd_pwrite,
+ "fd_read": _fd_read,
+ "fd_seek": _fd_seek,
+ "fd_sync": _fd_sync,
+ "fd_write": _fd_write,
+ "flock": _flock,
+ "gai_strerror": _gai_strerror,
+ "getTempRet0": _getTempRet0,
+ "gettimeofday": _gettimeofday,
+ "gmtime_r": _gmtime_r,
+ "invoke_i": invoke_i,
+ "invoke_ii": invoke_ii,
+ "invoke_iii": invoke_iii,
+ "invoke_iiii": invoke_iiii,
+ "invoke_v": invoke_v,
+ "invoke_vi": invoke_vi,
+ "invoke_vii": invoke_vii,
+ "invoke_viii": invoke_viii,
+ "llvm_eh_typeid_for": _llvm_eh_typeid_for,
+ "localtime_r": _localtime_r,
+ "mono_set_timeout": _mono_set_timeout,
+ "mono_wasm_add_event_listener": _mono_wasm_add_event_listener,
+ "mono_wasm_asm_loaded": _mono_wasm_asm_loaded,
+ "mono_wasm_create_cs_owned_object": _mono_wasm_create_cs_owned_object,
+ "mono_wasm_fire_debugger_agent_message": _mono_wasm_fire_debugger_agent_message,
+ "mono_wasm_get_by_index": _mono_wasm_get_by_index,
+ "mono_wasm_get_global_object": _mono_wasm_get_global_object,
+ "mono_wasm_get_object_property": _mono_wasm_get_object_property,
+ "mono_wasm_invoke_js_blazor": _mono_wasm_invoke_js_blazor,
+ "mono_wasm_invoke_js_marshalled": _mono_wasm_invoke_js_marshalled,
+ "mono_wasm_invoke_js_unmarshalled": _mono_wasm_invoke_js_unmarshalled,
+ "mono_wasm_invoke_js_with_args": _mono_wasm_invoke_js_with_args,
+ "mono_wasm_release_cs_owned_object": _mono_wasm_release_cs_owned_object,
+ "mono_wasm_remove_event_listener": _mono_wasm_remove_event_listener,
+ "mono_wasm_set_by_index": _mono_wasm_set_by_index,
+ "mono_wasm_set_object_property": _mono_wasm_set_object_property,
+ "mono_wasm_typed_array_copy_from": _mono_wasm_typed_array_copy_from,
+ "mono_wasm_typed_array_copy_to": _mono_wasm_typed_array_copy_to,
+ "mono_wasm_typed_array_from": _mono_wasm_typed_array_from,
+ "mono_wasm_typed_array_to_array": _mono_wasm_typed_array_to_array,
+ "pthread_create": _pthread_create,
+ "pthread_join": _pthread_join,
+ "schedule_background_exec": _schedule_background_exec,
+ "setTempRet0": _setTempRet0,
+ "strftime": _strftime,
+ "time": _time,
+ "tzset": _tzset,
+ "utimes": _utimes
+};
+var asm = createWasm();
+/** @type {function(...*):?} */
+var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
+ return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _memset = Module["_memset"] = function() {
+ return (_memset = Module["_memset"] = Module["asm"]["memset"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var ___errno_location = Module["___errno_location"] = function() {
+ return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _malloc = Module["_malloc"] = function() {
+ return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _free = Module["_free"] = function() {
+ return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_register_root = Module["_mono_wasm_register_root"] = function() {
+ return (_mono_wasm_register_root = Module["_mono_wasm_register_root"] = Module["asm"]["mono_wasm_register_root"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_deregister_root = Module["_mono_wasm_deregister_root"] = function() {
+ return (_mono_wasm_deregister_root = Module["_mono_wasm_deregister_root"] = Module["asm"]["mono_wasm_deregister_root"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_add_assembly = Module["_mono_wasm_add_assembly"] = function() {
+ return (_mono_wasm_add_assembly = Module["_mono_wasm_add_assembly"] = Module["asm"]["mono_wasm_add_assembly"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_add_satellite_assembly = Module["_mono_wasm_add_satellite_assembly"] = function() {
+ return (_mono_wasm_add_satellite_assembly = Module["_mono_wasm_add_satellite_assembly"] = Module["asm"]["mono_wasm_add_satellite_assembly"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_setenv = Module["_mono_wasm_setenv"] = function() {
+ return (_mono_wasm_setenv = Module["_mono_wasm_setenv"] = Module["asm"]["mono_wasm_setenv"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_register_bundled_satellite_assemblies = Module["_mono_wasm_register_bundled_satellite_assemblies"] = function() {
+ return (_mono_wasm_register_bundled_satellite_assemblies = Module["_mono_wasm_register_bundled_satellite_assemblies"] = Module["asm"]["mono_wasm_register_bundled_satellite_assemblies"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_load_runtime = Module["_mono_wasm_load_runtime"] = function() {
+ return (_mono_wasm_load_runtime = Module["_mono_wasm_load_runtime"] = Module["asm"]["mono_wasm_load_runtime"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_assembly_load = Module["_mono_wasm_assembly_load"] = function() {
+ return (_mono_wasm_assembly_load = Module["_mono_wasm_assembly_load"] = Module["asm"]["mono_wasm_assembly_load"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_find_corlib_class = Module["_mono_wasm_find_corlib_class"] = function() {
+ return (_mono_wasm_find_corlib_class = Module["_mono_wasm_find_corlib_class"] = Module["asm"]["mono_wasm_find_corlib_class"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_assembly_find_class = Module["_mono_wasm_assembly_find_class"] = function() {
+ return (_mono_wasm_assembly_find_class = Module["_mono_wasm_assembly_find_class"] = Module["asm"]["mono_wasm_assembly_find_class"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_assembly_find_method = Module["_mono_wasm_assembly_find_method"] = function() {
+ return (_mono_wasm_assembly_find_method = Module["_mono_wasm_assembly_find_method"] = Module["asm"]["mono_wasm_assembly_find_method"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_get_delegate_invoke = Module["_mono_wasm_get_delegate_invoke"] = function() {
+ return (_mono_wasm_get_delegate_invoke = Module["_mono_wasm_get_delegate_invoke"] = Module["asm"]["mono_wasm_get_delegate_invoke"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_box_primitive = Module["_mono_wasm_box_primitive"] = function() {
+ return (_mono_wasm_box_primitive = Module["_mono_wasm_box_primitive"] = Module["asm"]["mono_wasm_box_primitive"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_invoke_method = Module["_mono_wasm_invoke_method"] = function() {
+ return (_mono_wasm_invoke_method = Module["_mono_wasm_invoke_method"] = Module["asm"]["mono_wasm_invoke_method"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_assembly_get_entry_point = Module["_mono_wasm_assembly_get_entry_point"] = function() {
+ return (_mono_wasm_assembly_get_entry_point = Module["_mono_wasm_assembly_get_entry_point"] = Module["asm"]["mono_wasm_assembly_get_entry_point"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_string_get_utf8 = Module["_mono_wasm_string_get_utf8"] = function() {
+ return (_mono_wasm_string_get_utf8 = Module["_mono_wasm_string_get_utf8"] = Module["asm"]["mono_wasm_string_get_utf8"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_string_convert = Module["_mono_wasm_string_convert"] = function() {
+ return (_mono_wasm_string_convert = Module["_mono_wasm_string_convert"] = Module["asm"]["mono_wasm_string_convert"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_string_from_js = Module["_mono_wasm_string_from_js"] = function() {
+ return (_mono_wasm_string_from_js = Module["_mono_wasm_string_from_js"] = Module["asm"]["mono_wasm_string_from_js"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_string_from_utf16 = Module["_mono_wasm_string_from_utf16"] = function() {
+ return (_mono_wasm_string_from_utf16 = Module["_mono_wasm_string_from_utf16"] = Module["asm"]["mono_wasm_string_from_utf16"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_get_obj_type = Module["_mono_wasm_get_obj_type"] = function() {
+ return (_mono_wasm_get_obj_type = Module["_mono_wasm_get_obj_type"] = Module["asm"]["mono_wasm_get_obj_type"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_try_unbox_primitive_and_get_type = Module["_mono_wasm_try_unbox_primitive_and_get_type"] = function() {
+ return (_mono_wasm_try_unbox_primitive_and_get_type = Module["_mono_wasm_try_unbox_primitive_and_get_type"] = Module["asm"]["mono_wasm_try_unbox_primitive_and_get_type"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_unbox_int = Module["_mono_unbox_int"] = function() {
+ return (_mono_unbox_int = Module["_mono_unbox_int"] = Module["asm"]["mono_unbox_int"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_array_length = Module["_mono_wasm_array_length"] = function() {
+ return (_mono_wasm_array_length = Module["_mono_wasm_array_length"] = Module["asm"]["mono_wasm_array_length"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_array_get = Module["_mono_wasm_array_get"] = function() {
+ return (_mono_wasm_array_get = Module["_mono_wasm_array_get"] = Module["asm"]["mono_wasm_array_get"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_obj_array_new = Module["_mono_wasm_obj_array_new"] = function() {
+ return (_mono_wasm_obj_array_new = Module["_mono_wasm_obj_array_new"] = Module["asm"]["mono_wasm_obj_array_new"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_obj_array_set = Module["_mono_wasm_obj_array_set"] = function() {
+ return (_mono_wasm_obj_array_set = Module["_mono_wasm_obj_array_set"] = Module["asm"]["mono_wasm_obj_array_set"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_string_array_new = Module["_mono_wasm_string_array_new"] = function() {
+ return (_mono_wasm_string_array_new = Module["_mono_wasm_string_array_new"] = Module["asm"]["mono_wasm_string_array_new"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_exec_regression = Module["_mono_wasm_exec_regression"] = function() {
+ return (_mono_wasm_exec_regression = Module["_mono_wasm_exec_regression"] = Module["asm"]["mono_wasm_exec_regression"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_exit = Module["_mono_wasm_exit"] = function() {
+ return (_mono_wasm_exit = Module["_mono_wasm_exit"] = Module["asm"]["mono_wasm_exit"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_set_main_args = Module["_mono_wasm_set_main_args"] = function() {
+ return (_mono_wasm_set_main_args = Module["_mono_wasm_set_main_args"] = Module["asm"]["mono_wasm_set_main_args"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_strdup = Module["_mono_wasm_strdup"] = function() {
+ return (_mono_wasm_strdup = Module["_mono_wasm_strdup"] = Module["asm"]["mono_wasm_strdup"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_parse_runtime_options = Module["_mono_wasm_parse_runtime_options"] = function() {
+ return (_mono_wasm_parse_runtime_options = Module["_mono_wasm_parse_runtime_options"] = Module["asm"]["mono_wasm_parse_runtime_options"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_enable_on_demand_gc = Module["_mono_wasm_enable_on_demand_gc"] = function() {
+ return (_mono_wasm_enable_on_demand_gc = Module["_mono_wasm_enable_on_demand_gc"] = Module["asm"]["mono_wasm_enable_on_demand_gc"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_intern_string = Module["_mono_wasm_intern_string"] = function() {
+ return (_mono_wasm_intern_string = Module["_mono_wasm_intern_string"] = Module["asm"]["mono_wasm_intern_string"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_string_get_data = Module["_mono_wasm_string_get_data"] = function() {
+ return (_mono_wasm_string_get_data = Module["_mono_wasm_string_get_data"] = Module["asm"]["mono_wasm_string_get_data"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_typed_array_new = Module["_mono_wasm_typed_array_new"] = function() {
+ return (_mono_wasm_typed_array_new = Module["_mono_wasm_typed_array_new"] = Module["asm"]["mono_wasm_typed_array_new"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_unbox_enum = Module["_mono_wasm_unbox_enum"] = function() {
+ return (_mono_wasm_unbox_enum = Module["_mono_wasm_unbox_enum"] = Module["asm"]["mono_wasm_unbox_enum"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_set_is_debugger_attached = Module["_mono_wasm_set_is_debugger_attached"] = function() {
+ return (_mono_wasm_set_is_debugger_attached = Module["_mono_wasm_set_is_debugger_attached"] = Module["asm"]["mono_wasm_set_is_debugger_attached"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_send_dbg_command_with_parms = Module["_mono_wasm_send_dbg_command_with_parms"] = function() {
+ return (_mono_wasm_send_dbg_command_with_parms = Module["_mono_wasm_send_dbg_command_with_parms"] = Module["asm"]["mono_wasm_send_dbg_command_with_parms"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_send_dbg_command = Module["_mono_wasm_send_dbg_command"] = function() {
+ return (_mono_wasm_send_dbg_command = Module["_mono_wasm_send_dbg_command"] = Module["asm"]["mono_wasm_send_dbg_command"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _putchar = Module["_putchar"] = function() {
+ return (_putchar = Module["_putchar"] = Module["asm"]["putchar"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_background_exec = Module["_mono_background_exec"] = function() {
+ return (_mono_background_exec = Module["_mono_background_exec"] = Module["asm"]["mono_background_exec"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _htons = Module["_htons"] = function() {
+ return (_htons = Module["_htons"] = Module["asm"]["htons"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_get_icudt_name = Module["_mono_wasm_get_icudt_name"] = function() {
+ return (_mono_wasm_get_icudt_name = Module["_mono_wasm_get_icudt_name"] = Module["asm"]["mono_wasm_get_icudt_name"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_wasm_load_icu_data = Module["_mono_wasm_load_icu_data"] = function() {
+ return (_mono_wasm_load_icu_data = Module["_mono_wasm_load_icu_data"] = Module["asm"]["mono_wasm_load_icu_data"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_print_method_from_ip = Module["_mono_print_method_from_ip"] = function() {
+ return (_mono_print_method_from_ip = Module["_mono_print_method_from_ip"] = Module["asm"]["mono_print_method_from_ip"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _mono_set_timeout_exec = Module["_mono_set_timeout_exec"] = function() {
+ return (_mono_set_timeout_exec = Module["_mono_set_timeout_exec"] = Module["asm"]["mono_set_timeout_exec"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _ntohs = Module["_ntohs"] = function() {
+ return (_ntohs = Module["_ntohs"] = Module["asm"]["ntohs"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() {
+ return (_emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = Module["asm"]["emscripten_main_thread_process_queued_calls"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _htonl = Module["_htonl"] = function() {
+ return (_htonl = Module["_htonl"] = Module["asm"]["htonl"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var __get_tzname = Module["__get_tzname"] = function() {
+ return (__get_tzname = Module["__get_tzname"] = Module["asm"]["_get_tzname"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var __get_daylight = Module["__get_daylight"] = function() {
+ return (__get_daylight = Module["__get_daylight"] = Module["asm"]["_get_daylight"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var __get_timezone = Module["__get_timezone"] = function() {
+ return (__get_timezone = Module["__get_timezone"] = Module["asm"]["_get_timezone"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var stackSave = Module["stackSave"] = function() {
+ return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var stackRestore = Module["stackRestore"] = function() {
+ return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var stackAlloc = Module["stackAlloc"] = function() {
+ return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _setThrew = Module["_setThrew"] = function() {
+ return (_setThrew = Module["_setThrew"] = Module["asm"]["setThrew"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var ___cxa_can_catch = Module["___cxa_can_catch"] = function() {
+ return (___cxa_can_catch = Module["___cxa_can_catch"] = Module["asm"]["__cxa_can_catch"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = function() {
+ return (___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = Module["asm"]["__cxa_is_pointer_type"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var _memalign = Module["_memalign"] = function() {
+ return (_memalign = Module["_memalign"] = Module["asm"]["memalign"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiiij = Module["dynCall_iiiij"] = function() {
+ return (dynCall_iiiij = Module["dynCall_iiiij"] = Module["asm"]["dynCall_iiiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_vijii = Module["dynCall_vijii"] = function() {
+ return (dynCall_vijii = Module["dynCall_vijii"] = Module["asm"]["dynCall_vijii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijj = Module["dynCall_iijj"] = function() {
+ return (dynCall_iijj = Module["dynCall_iijj"] = Module["asm"]["dynCall_iijj"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iij = Module["dynCall_iij"] = function() {
+ return (dynCall_iij = Module["dynCall_iij"] = Module["asm"]["dynCall_iij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijii = Module["dynCall_iijii"] = function() {
+ return (dynCall_iijii = Module["dynCall_iijii"] = Module["asm"]["dynCall_iijii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiji = Module["dynCall_iiji"] = function() {
+ return (dynCall_iiji = Module["dynCall_iiji"] = Module["asm"]["dynCall_iiji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiiiiij = Module["dynCall_iiiiiij"] = function() {
+ return (dynCall_iiiiiij = Module["dynCall_iiiiiij"] = Module["asm"]["dynCall_iiiiiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiij = Module["dynCall_iiij"] = function() {
+ return (dynCall_iiij = Module["dynCall_iiij"] = Module["asm"]["dynCall_iiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jii = Module["dynCall_jii"] = function() {
+ return (dynCall_jii = Module["dynCall_jii"] = Module["asm"]["dynCall_jii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_ji = Module["dynCall_ji"] = function() {
+ return (dynCall_ji = Module["dynCall_ji"] = Module["asm"]["dynCall_ji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_vij = Module["dynCall_vij"] = function() {
+ return (dynCall_vij = Module["dynCall_vij"] = Module["asm"]["dynCall_vij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiiiijii = Module["dynCall_iiiiijii"] = function() {
+ return (dynCall_iiiiijii = Module["dynCall_iiiiijii"] = Module["asm"]["dynCall_iiiiijii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_j = Module["dynCall_j"] = function() {
+ return (dynCall_j = Module["dynCall_j"] = Module["asm"]["dynCall_j"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jj = Module["dynCall_jj"] = function() {
+ return (dynCall_jj = Module["dynCall_jj"] = Module["asm"]["dynCall_jj"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jiij = Module["dynCall_jiij"] = function() {
+ return (dynCall_jiij = Module["dynCall_jiij"] = Module["asm"]["dynCall_jiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiiiji = Module["dynCall_iiiiji"] = function() {
+ return (dynCall_iiiiji = Module["dynCall_iiiiji"] = Module["asm"]["dynCall_iiiiji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiiijii = Module["dynCall_iiiijii"] = function() {
+ return (dynCall_iiiijii = Module["dynCall_iiiijii"] = Module["asm"]["dynCall_iiiijii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_ij = Module["dynCall_ij"] = function() {
+ return (dynCall_ij = Module["dynCall_ij"] = Module["asm"]["dynCall_ij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_viiji = Module["dynCall_viiji"] = function() {
+ return (dynCall_viiji = Module["dynCall_viiji"] = Module["asm"]["dynCall_viiji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_viijii = Module["dynCall_viijii"] = function() {
+ return (dynCall_viijii = Module["dynCall_viijii"] = Module["asm"]["dynCall_viijii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jiiiiiiiii = Module["dynCall_jiiiiiiiii"] = function() {
+ return (dynCall_jiiiiiiiii = Module["dynCall_jiiiiiiiii"] = Module["asm"]["dynCall_jiiiiiiiii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_vj = Module["dynCall_vj"] = function() {
+ return (dynCall_vj = Module["dynCall_vj"] = Module["asm"]["dynCall_vj"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iji = Module["dynCall_iji"] = function() {
+ return (dynCall_iji = Module["dynCall_iji"] = Module["asm"]["dynCall_iji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iiijiiiii = Module["dynCall_iiijiiiii"] = function() {
+ return (dynCall_iiijiiiii = Module["dynCall_iiijiiiii"] = Module["asm"]["dynCall_iiijiiiii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijjiii = Module["dynCall_iijjiii"] = function() {
+ return (dynCall_iijjiii = Module["dynCall_iijjiii"] = Module["asm"]["dynCall_iijjiii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_vijjjii = Module["dynCall_vijjjii"] = function() {
+ return (dynCall_vijjjii = Module["dynCall_vijjjii"] = Module["asm"]["dynCall_vijjjii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijiii = Module["dynCall_iijiii"] = function() {
+ return (dynCall_iijiii = Module["dynCall_iijiii"] = Module["asm"]["dynCall_iijiii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_vijiiii = Module["dynCall_vijiiii"] = function() {
+ return (dynCall_vijiiii = Module["dynCall_vijiiii"] = Module["asm"]["dynCall_vijiiii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jij = Module["dynCall_jij"] = function() {
+ return (dynCall_jij = Module["dynCall_jij"] = Module["asm"]["dynCall_jij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijiiii = Module["dynCall_iijiiii"] = function() {
+ return (dynCall_iijiiii = Module["dynCall_iijiiii"] = Module["asm"]["dynCall_iijiiii"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jd = Module["dynCall_jd"] = function() {
+ return (dynCall_jd = Module["dynCall_jd"] = Module["asm"]["dynCall_jd"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jf = Module["dynCall_jf"] = function() {
+ return (dynCall_jf = Module["dynCall_jf"] = Module["asm"]["dynCall_jf"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jiji = Module["dynCall_jiji"] = function() {
+ return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_viiiij = Module["dynCall_viiiij"] = function() {
+ return (dynCall_viiiij = Module["dynCall_viiiij"] = Module["asm"]["dynCall_viiiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_viij = Module["dynCall_viij"] = function() {
+ return (dynCall_viij = Module["dynCall_viij"] = Module["asm"]["dynCall_viij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijji = Module["dynCall_iijji"] = function() {
+ return (dynCall_iijji = Module["dynCall_iijji"] = Module["asm"]["dynCall_iijji"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_iijiiij = Module["dynCall_iijiiij"] = function() {
+ return (dynCall_iijiiij = Module["dynCall_iijiiij"] = Module["asm"]["dynCall_iijiiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jiiij = Module["dynCall_jiiij"] = function() {
+ return (dynCall_jiiij = Module["dynCall_jiiij"] = Module["asm"]["dynCall_jiiij"]).apply(null, arguments);
+};
+
+/** @type {function(...*):?} */
+var dynCall_jijj = Module["dynCall_jijj"] = function() {
+ return (dynCall_jijj = Module["dynCall_jijj"] = Module["asm"]["dynCall_jijj"]).apply(null, arguments);
+};
+
+
+function invoke_vi(index,a1) {
+ var sp = stackSave();
+ try {
+ wasmTable.get(index)(a1);
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_ii(index,a1) {
+ var sp = stackSave();
+ try {
+ return wasmTable.get(index)(a1);
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_iii(index,a1,a2) {
+ var sp = stackSave();
+ try {
+ return wasmTable.get(index)(a1,a2);
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_vii(index,a1,a2) {
+ var sp = stackSave();
+ try {
+ wasmTable.get(index)(a1,a2);
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_i(index) {
+ var sp = stackSave();
+ try {
+ return wasmTable.get(index)();
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_v(index) {
+ var sp = stackSave();
+ try {
+ wasmTable.get(index)();
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_iiii(index,a1,a2,a3) {
+ var sp = stackSave();
+ try {
+ return wasmTable.get(index)(a1,a2,a3);
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+function invoke_viii(index,a1,a2,a3) {
+ var sp = stackSave();
+ try {
+ wasmTable.get(index)(a1,a2,a3);
+ } catch(e) {
+ stackRestore(sp);
+ if (e !== e+0 && e !== 'longjmp') throw e;
+ _setThrew(1, 0);
+ }
+}
+
+
+
+
+// === Auto-generated postamble setup entry stuff ===
+
+Module["ccall"] = ccall;
+Module["cwrap"] = cwrap;
+Module["setValue"] = setValue;
+Module["getValue"] = getValue;
+Module["UTF8ArrayToString"] = UTF8ArrayToString;
+Module["UTF8ToString"] = UTF8ToString;
+Module["addRunDependency"] = addRunDependency;
+Module["removeRunDependency"] = removeRunDependency;
+Module["FS_createPath"] = FS.createPath;
+Module["FS_createDataFile"] = FS.createDataFile;
+Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
+Module["FS_createLazyFile"] = FS.createLazyFile;
+Module["FS_createDevice"] = FS.createDevice;
+Module["FS_unlink"] = FS.unlink;
+Module["addFunction"] = addFunction;
+
+var calledRun;
+
+/**
+ * @constructor
+ * @this {ExitStatus}
+ */
+function ExitStatus(status) {
+ this.name = "ExitStatus";
+ this.message = "Program terminated with exit(" + status + ")";
+ this.status = status;
+}
+
+var calledMain = false;
+
+dependenciesFulfilled = function runCaller() {
+ // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
+ if (!calledRun) run();
+ if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
+};
+
+/** @type {function(Array=)} */
+function run(args) {
+ args = args || arguments_;
+
+ if (runDependencies > 0) {
+ return;
+ }
+
+ preRun();
+
+ // a preRun added a dependency, run will be called later
+ if (runDependencies > 0) {
+ return;
+ }
+
+ function doRun() {
+ // run may have just been called through dependencies being fulfilled just in this very frame,
+ // or while the async setStatus time below was happening
+ if (calledRun) return;
+ calledRun = true;
+ Module['calledRun'] = true;
+
+ if (ABORT) return;
+
+ initRuntime();
+
+ if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
+
+ postRun();
+ }
+
+ if (Module['setStatus']) {
+ Module['setStatus']('Running...');
+ setTimeout(function() {
+ setTimeout(function() {
+ Module['setStatus']('');
+ }, 1);
+ doRun();
+ }, 1);
+ } else
+ {
+ doRun();
+ }
+}
+Module['run'] = run;
+
+/** @param {boolean|number=} implicit */
+function exit(status, implicit) {
+ EXITSTATUS = status;
+
+ // if this is just main exit-ing implicitly, and the status is 0, then we
+ // don't need to do anything here and can just leave. if the status is
+ // non-zero, though, then we need to report it.
+ // (we may have warned about this earlier, if a situation justifies doing so)
+ if (implicit && keepRuntimeAlive() && status === 0) {
+ return;
+ }
+
+ if (keepRuntimeAlive()) {
+ } else {
+
+ exitRuntime();
+
+ if (Module['onExit']) Module['onExit'](status);
+
+ ABORT = true;
+ }
+
+ quit_(status, new ExitStatus(status));
+}
+
+if (Module['preInit']) {
+ if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
+ while (Module['preInit'].length > 0) {
+ Module['preInit'].pop()();
+ }
+}
+
+run();
+
+
+
+
+
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js.gz
new file mode 100644
index 00000000..058e2d5f
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat
new file mode 100755
index 00000000..4500d17a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat.gz
new file mode 100644
index 00000000..7ba234f4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm
new file mode 100755
index 00000000..fd60ede6
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm.gz
new file mode 100644
index 00000000..915a5313
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a
new file mode 100755
index 00000000..01e102cf
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a.gz
new file mode 100644
index 00000000..443117a4
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat
new file mode 100755
index 00000000..7281a276
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat.gz
new file mode 100644
index 00000000..7e8934be
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat
new file mode 100755
index 00000000..a4ef6d70
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat.gz
new file mode 100644
index 00000000..24301e7b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat
new file mode 100755
index 00000000..4b39b3fa
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat.gz
new file mode 100644
index 00000000..2d26d530
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat
new file mode 100755
index 00000000..bab52e7a
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat.gz
new file mode 100644
index 00000000..0da58390
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll
new file mode 100755
index 00000000..1538e2f8
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll.gz
new file mode 100644
index 00000000..e0c73508
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll.gz differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll
new file mode 100755
index 00000000..b12dda4b
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll differ
diff --git a/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll.gz b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll.gz
new file mode 100644
index 00000000..efcec999
Binary files /dev/null and b/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll.gz differ
diff --git a/Account_SQLite/obj/Account_SQLite.csproj.nuget.dgspec.json b/Account_SQLite/obj/Account_SQLite.csproj.nuget.dgspec.json
index 2202c6fe..a83e6b0d 100644
--- a/Account_SQLite/obj/Account_SQLite.csproj.nuget.dgspec.json
+++ b/Account_SQLite/obj/Account_SQLite.csproj.nuget.dgspec.json
@@ -47,9 +47,17 @@
"target": "Package",
"version": "[6.0.4, )"
},
+ "Radzen.Blazor": {
+ "target": "Package",
+ "version": "[3.18.15, )"
+ },
"SqliteWasmHelper": {
"target": "Package",
"version": "[1.0.43-beta-g31b50d1f54, )"
+ },
+ "sqlite-helper": {
+ "target": "Package",
+ "version": "[1.3.0, )"
}
},
"imports": [
@@ -67,7 +75,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/6.0.300/RuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/6.0.301/RuntimeIdentifierGraph.json"
}
},
"runtimes": {
diff --git a/Account_SQLite/obj/Account_SQLite.csproj.nuget.g.props b/Account_SQLite/obj/Account_SQLite.csproj.nuget.g.props
index 8e2f4578..1d98f480 100644
--- a/Account_SQLite/obj/Account_SQLite.csproj.nuget.g.props
+++ b/Account_SQLite/obj/Account_SQLite.csproj.nuget.g.props
@@ -7,7 +7,7 @@
/Users/normrasmussen/.nuget/packages/
/Users/normrasmussen/.nuget/packages/
PackageReference
- 6.2.0
+ 6.2.1
@@ -24,6 +24,7 @@
+
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.GeneratedMSBuildEditorConfig.editorconfig b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.GeneratedMSBuildEditorConfig.editorconfig
index 9eb53eb8..1055a2cc 100644
--- a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.GeneratedMSBuildEditorConfig.editorconfig
+++ b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.GeneratedMSBuildEditorConfig.editorconfig
@@ -26,6 +26,14 @@ build_metadata.AdditionalFiles.CssScope =
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvSW5kZXgucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
+[/Users/normrasmussen/Documents/Northpass/Account_SQLite/Pages/_Host.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0hvc3QucmF6b3I=
+build_metadata.AdditionalFiles.CssScope =
+
+[/Users/normrasmussen/Documents/Northpass/Account_SQLite/Pages/_Layout.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0xheW91dC5yYXpvcg==
+build_metadata.AdditionalFiles.CssScope =
+
[/Users/normrasmussen/Documents/Northpass/Account_SQLite/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
@@ -37,11 +45,3 @@ build_metadata.AdditionalFiles.CssScope = b-jn0vslp9lp
[/Users/normrasmussen/Documents/Northpass/Account_SQLite/Shared/NavMenu.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL05hdk1lbnUucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-hruea6gb89
-
-[/Users/normrasmussen/Documents/Northpass/Account_SQLite/Pages/_Host.cshtml]
-build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0hvc3QuY3NodG1s
-build_metadata.AdditionalFiles.CssScope =
-
-[/Users/normrasmussen/Documents/Northpass/Account_SQLite/Pages/_Layout.cshtml]
-build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0xheW91dC5jc2h0bWw=
-build_metadata.AdditionalFiles.CssScope =
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cache b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cache
deleted file mode 100644
index f24b41d8..00000000
--- a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cache
+++ /dev/null
@@ -1 +0,0 @@
-5860763757f4f08c7ebdea1b3a94a18109f17861
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cs b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cs
deleted file mode 100644
index 31c8eab2..00000000
--- a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ProvideApplicationPartFactoryAttribute("Microsoft.AspNetCore.Mvc.ApplicationParts.ConsolidatedAssemblyApplicationPartFact" +
- "ory, Microsoft.AspNetCore.Mvc.Razor")]
-
-// Generated by the MSBuild WriteCodeFragment class.
-
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.assets.cache b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.assets.cache
index 46f35baf..af2f98a6 100644
Binary files a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.assets.cache and b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.assets.cache differ
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.AssemblyReference.cache b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.AssemblyReference.cache
index 39a5a3a0..30b55bcf 100644
Binary files a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.AssemblyReference.cache and b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.AssemblyReference.cache differ
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.CoreCompileInputs.cache b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.CoreCompileInputs.cache
index be82c6af..b94450d9 100644
--- a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.CoreCompileInputs.cache
+++ b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-ac4be707c810867893fa854e3fe969080daae679
+575f2b9f4d005ce57f65be9887a370df73f05f1d
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.FileListAbsolute.txt b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.FileListAbsolute.txt
index 7d64f81a..78af9e09 100644
--- a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.FileListAbsolute.txt
+++ b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.FileListAbsolute.txt
@@ -4,14 +4,9 @@
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.AssemblyInfo.cs
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.csproj.CoreCompileInputs.cache
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.MvcApplicationPartsAssemblyInfo.cache
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cache
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.RazorAssemblyInfo.cs
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/appsettings.Development.json
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/appsettings.json
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Account_SQLite.staticwebassets.runtime.json
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Account_SQLite
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Account_SQLite.deps.json
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Account_SQLite.runtimeconfig.json
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Account_SQLite.dll
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Account_SQLite.pdb
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.AspNetCore.Authorization.dll
@@ -35,26 +30,6 @@
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/SqliteWasmHelper.dll
/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Pipelines.dll
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-arm64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/alpine-x64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/browser-wasm/nativeassets/net6.0/e_sqlite3.a
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-arm64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-armel/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-mips64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-musl-x64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-s390x/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x64/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/linux-x86/native/libe_sqlite3.so
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/osx-arm64/native/libe_sqlite3.dylib
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/osx-x64/native/libe_sqlite3.dylib
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm/native/e_sqlite3.dll
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/win-arm64/native/e_sqlite3.dll
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/win-x64/native/e_sqlite3.dll
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/runtimes/win-x86/native/e_sqlite3.dll
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/staticwebassets.build.json
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/staticwebassets.development.json
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/scopedcss/Shared/MainLayout.razor.rz.scp.css
@@ -65,5 +40,850 @@
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.dll
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/refint/Account_SQLite.dll
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.pdb
-/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/Account_SQLite.genruntimeconfig.cache
/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/ref/Account_SQLite.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.boot.json
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Metadata.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Extensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Queryable.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipelines.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.Json.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/mscorlib.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebProxy.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.AppContext.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.CoreLib.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_CJK.dat.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.CSharp.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Configuration.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt.dat.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebClient.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_EFIGS.dat.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/netstandard.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Quic.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tools.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.ReaderWriter.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Parallel.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.Client.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Linq.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ObjectModel.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Sockets.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Reader.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Ping.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Numerics.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Memory.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XDocument.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Numerics.Vectors.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Concurrent.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encodings.Web.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Dynamic.Core.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.NonGeneric.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NameResolution.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Mail.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.RegularExpressions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.NetworkInformation.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Http.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Extensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Data.Sqlite.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.SecureString.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Emit.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.Expressions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.batteries_v2.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Handles.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Console.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.Linq.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.core.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.Common.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Security.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Intrinsics.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Immutable.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.wasm.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Loader.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.Brotli.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet..0qqpqpio55.js.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Win32.Registry.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.WebSockets.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Json.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Extensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Overlapped.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.Local.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceProcess.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Xml.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Buffers.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Tracing.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.ServicePoint.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Transactions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.Serialization.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Windows.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.ThreadPool.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Drawing.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Text.Encoding.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.Uri.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Timer.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.HttpListener.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Radzen.Blazor.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Contracts.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/icudt_no_CJK.dat.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ValueTuple.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlSerializer.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/dotnet.timezones.blat.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.Windows.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Thread.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.pdb.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/e_sqlite3.a.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.Writer.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.Primitives.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XPath.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Resources.ResourceManager.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Principal.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Net.Requests.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.AccessControl.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Formats.Asn1.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyModel.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Dynamic.Runtime.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Core.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Options.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Data.DataSetExtensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Account_SQLite.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.HttpUtility.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/blazor.webassembly.js.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.Specialized.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SQLite.Net.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Collections.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Debug.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/SqliteWasmHelper.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.EntityFrameworkCore.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Globalization.Calendars.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Linq.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Claims.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ComponentModel.Annotations.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Xml.XmlDocument.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.VisualBasic.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/WindowsBase.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Private.DataContractSerialization.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Diagnostics.Process.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Threading.Channels.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Web.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.IO.IsolatedStorage.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/wwwroot/_framework/System.ServiceModel.Web.dll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Caching.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Binder.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Configuration.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileProviders.Physical.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Logging.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Options.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Extensions.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Radzen.Blazor.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/SQLite.Net.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Linq.Dynamic.Core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/e_sqlite3.a
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.CSharp.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.Core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.VisualBasic.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/Microsoft.Win32.Registry.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.AppContext.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Buffers.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Collections.Concurrent.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Collections.Immutable.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Collections.NonGeneric.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Collections.Specialized.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Collections.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Annotations.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.DataAnnotations.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.EventBasedAsync.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.TypeConverter.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ComponentModel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Configuration.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Console.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Core.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Data.Common.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Data.DataSetExtensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Data.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Contracts.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Debug.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.DiagnosticSource.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.FileVersionInfo.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Process.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.StackTrace.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TextWriterTraceListener.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tools.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.TraceSource.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Diagnostics.Tracing.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Drawing.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Drawing.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Dynamic.Runtime.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Formats.Asn1.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Globalization.Calendars.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Globalization.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Globalization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.Brotli.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.FileSystem.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.ZipFile.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Compression.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.AccessControl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.DriveInfo.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.Watcher.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.FileSystem.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.IsolatedStorage.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.MemoryMappedFiles.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.AccessControl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.Pipes.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.UnmanagedMemoryStream.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.IO.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Linq.Expressions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Linq.Parallel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Linq.Queryable.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Linq.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Memory.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Http.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Http.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.HttpListener.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Mail.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.NameResolution.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.NetworkInformation.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Ping.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Quic.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Requests.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Security.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.ServicePoint.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.Sockets.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.WebClient.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.WebHeaderCollection.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.WebProxy.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.Client.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.WebSockets.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Net.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Numerics.Vectors.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Numerics.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ObjectModel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Private.DataContractSerialization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Private.Runtime.InteropServices.JavaScript.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Private.Uri.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.Linq.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Private.Xml.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.DispatchProxy.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.ILGeneration.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.Lightweight.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.Emit.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.Metadata.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.TypeExtensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Reflection.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Resources.Reader.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Resources.ResourceManager.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Resources.Writer.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.Unsafe.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.CompilerServices.VisualC.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Handles.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.RuntimeInformation.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.InteropServices.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Intrinsics.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Loader.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Numerics.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Formatters.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.Xml.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.Serialization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Runtime.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.AccessControl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Claims.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Algorithms.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Cng.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Csp.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Encoding.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.OpenSsl.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.Primitives.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Cryptography.X509Certificates.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.Windows.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.Principal.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.SecureString.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Security.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ServiceModel.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ServiceProcess.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.CodePages.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Text.Encoding.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Text.Encodings.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Text.Json.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Text.RegularExpressions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Channels.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Overlapped.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Dataflow.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Extensions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.Parallel.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Tasks.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Thread.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.ThreadPool.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.Timer.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Threading.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Transactions.Local.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Transactions.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.ValueTuple.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Web.HttpUtility.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Web.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Windows.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.Linq.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.ReaderWriter.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.Serialization.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.XDocument.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.XDocument.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.XPath.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlDocument.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.XmlSerializer.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Xml.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/WindowsBase.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/mscorlib.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/netstandard.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/System.Private.CoreLib.dll
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/dotnet.timezones.blat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/icudt.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/icudt_CJK.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/icudt_EFIGS.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/bin/Debug/net6.0/icudt_no_CJK.dat
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/pinvoke-table.h
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/runtime-icall-table.h
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/icall-table.h
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/emcc-compile.rsp
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/driver.o
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/pinvoke.o
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/corebindings.o
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/emcc-link.rsp
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/dotnet.wasm
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/wasm/for-build/dotnet.js
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/xFv7r9Ii.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/HH+np8ru.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/k2roKodh.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Y4R2M7vg.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/5HhZz3K9.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/iSH8aA68.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/EycU5AZA.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/VUurIt2N.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/pWIEjruq.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/5eY4GF5U.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/JjqaMvBJ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/2zEZXe0u.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/8bQLqeih.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/xmiwABxn.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/j++BdFv1.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/4xtw6LPe.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/1vm4IFaG.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/mKCm41GD.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/YOMdCEDS.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/f620GeOq.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/tmzMw3td.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/wrRolEjk.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/kjMKg2YM.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/l6xNnSyK.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/OYiTuEMW.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/BqYnQ2NX.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/U1GjwWQV.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/6za3LhEM.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0Iwipr4w.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Qv3EwTy+.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/p+xdbHnC.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/vI1ipYqb.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/G6RHxxA7.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/gY7C+Pj0.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/VeOJi+Gj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/vrvJMn09.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/+sQ5oVnS.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/CGGDUrLS.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/ScGxZLHc.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/2BVSVm+S.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/+tcLfj0H.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/x3ZTCwCx.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/6g5IwAqq.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/jBbmVu0Y.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0mHQ+lYF.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/lf6EacQh.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/c0YuPbll.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Hx9AKOya.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/D30ARJVX.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/vgE+rhU1.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/vpDjtL+6.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Wq3tHjrU.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/FH0Yj4k3.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/MG+l9gKt.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/l6oXNOY5.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/c1AOAAWG.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/eWVBG67y.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/2ge50QZE.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/gGwx65ye.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/ttWvaRvQ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/hApAU2Ux.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/UDNB8RFz.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/KXXhXkbu.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Pf+Dj+oK.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/VQvPAk3v.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/IRFTg+Zn.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/JBZLbhsR.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/yeh6ldoC.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/JY9yV2o0.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/NksrmDDk.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/6eQHB3+4.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/+Kre5Tpp.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/lKnsk7jv.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/O0n+vaCx.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/GiLT6S0T.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/tNIMt8TM.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/tLnY+z2a.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/vWSmlNx5.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/k+baeXzX.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/hsVedUCV.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/J4UVuU3X.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/1l00Hi2C.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/YLu1GWJ8.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/XeLPKmXp.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/IIwZRqn8.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/UgfmWOey.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/CzDJaXvP.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/1WRZXFTn.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Sl0g++2k.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/yTICDYKU.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/NSKpvYGD.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/OHcrvftp.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/m1I7g+si.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Y5yjli0O.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/peDw+Yy9.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/G+v4Gqyr.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/6MQ1jJcK.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/+QY0PBsI.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/W0iuVMXb.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/BLUafUvS.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0FKjlXJj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/eDjy34wv.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/OlSr4V7c.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/DMHJGpTb.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/df1c6WT5.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/E64FvjlP.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/aeiE8f7u.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/f0Eijqws.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/5EpkVPhj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/tgrMqSNc.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Ht1gJnwo.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/LTEuWA3z.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/91cuMT+c.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/2pQ1JqsF.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/e3fzYNFK.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0JQ0c28H.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/7RG3PMhI.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/jbYvZPux.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/4lUgkp+U.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/bThRWctG.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/5JyieZfh.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/8jbtvLI5.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Y6HQNyKj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/68cJW34q.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/od2uW63o.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/gTncO+bt.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/kx7B1ihF.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/o7uAv0wC.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/bL03ttyK.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/CGeqtl+O.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/fPziUjLD.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/+LRe9Tns.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/+JTVyhb1.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/spxJVBGU.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/WcHq51f8.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/FEErnO+2.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/A3Z5u4ys.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/T6EYjrM3.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/sOFvdHMh.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Uz49Tq2y.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/PPCPRXaZ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/evzhjbZl.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/GA6UnUSo.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/VijnN3m+.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/VBHSFBan.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/HUmGKp8o.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/IM4GHJDx.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/AG+zWk8B.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/56fZcRR8.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/VEpmbc+j.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/5pGaLGBy.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/ghYVXx0t.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/b4km8OTJ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/JWwzygqN.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/tGWz2oWJ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/wFpQ4XsM.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/KfqDX+eU.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/dbqFKMmc.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/yMqHz40p.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/g4IGgIl0.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/lJfRzgHZ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/P9V4P+3u.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0K+LzERo.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/RiHs74k4.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/TFiMoj8S.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/EYygXBXV.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/sh794WsF.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Zr4es2Pl.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/KWzBYWxz.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/h5nmla+E.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/LAErubWT.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/OcErHWFw.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/c6j+Y26l.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/jfMvQQ6O.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/E4MUYSbj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/yjo6GPoA.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/kpwabJeh.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/FOVtCNm+.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/wRuJDVjF.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/x3WDy8sM.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/tYeVKjgS.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/rIzXv3eE.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/NtPMok5n.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/OkhxxYtB.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/PzgkgiCU.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/KvLNa2Bc.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/M6gJA7L2.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/qHHiOcs6.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/UjV8g6Wb.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/YMLNoDcs.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/mYkuZEdi.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/7Yzj389P.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/6GAA+LDT.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/MuWbHBuW.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/bQDTZzZq.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/OhuJiVbC.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/Ss96Cozm.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/WZrCPLxf.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/QIoil28w.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/de5KTgXZ.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/CE3HGrFj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/xdpXJry5.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0fOL2sdj.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/5dCjNJ5b.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/0QiSef+M.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/qKorz+QM.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/2oVtJt50.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/1YNe1gPB.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/2XfazusX.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/q+C86qWT.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/i9ugRC3H.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/JB+CJuXL.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/UjjnPjhC.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/S4jcrGte.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/build-gz/UZuk9v7S.gz
+/Users/normrasmussen/Documents/Northpass/Account_SQLite/obj/Debug/net6.0/blazor.boot.json
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.dll b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.dll
index 62037181..1fa0ca5b 100644
Binary files a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.dll and b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.dll differ
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.genruntimeconfig.cache b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.genruntimeconfig.cache
deleted file mode 100644
index 907710f9..00000000
--- a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.genruntimeconfig.cache
+++ /dev/null
@@ -1 +0,0 @@
-a6780b54c28dc1bf6618296ccf3ead61dcfc7758
diff --git a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.pdb b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.pdb
index 625c3d0c..0c8ad345 100644
Binary files a/Account_SQLite/obj/Debug/net6.0/Account_SQLite.pdb and b/Account_SQLite/obj/Debug/net6.0/Account_SQLite.pdb differ
diff --git a/Account_SQLite/obj/Debug/net6.0/blazor.boot.json b/Account_SQLite/obj/Debug/net6.0/blazor.boot.json
new file mode 100644
index 00000000..edb63e01
--- /dev/null
+++ b/Account_SQLite/obj/Debug/net6.0/blazor.boot.json
@@ -0,0 +1,233 @@
+{
+ "cacheBootResources": true,
+ "config": [ ],
+ "debugBuild": true,
+ "entryAssembly": "Account_SQLite",
+ "icuDataMode": 0,
+ "linkerEnabled": false,
+ "resources": {
+ "assembly": {
+ "Microsoft.AspNetCore.Authorization.dll": "sha256-34F+BnSts\/TON8s8cSZc6roVw6IntMd\/sTrN8WOXiy8=",
+ "Microsoft.AspNetCore.Components.dll": "sha256-F+JMphRzIMZdciqr5Yf8CXeTA11n\/doTnAdObTPxNm8=",
+ "Microsoft.AspNetCore.Components.Forms.dll": "sha256-WApptBNmFJ1+dCg+jm360NFshcv7dvfzyBGl8rECTt8=",
+ "Microsoft.AspNetCore.Components.Web.dll": "sha256-Za1yJA2MY8T6DwapDEeBN9xCYb62MctrT1HKsNSePoE=",
+ "Microsoft.AspNetCore.Components.WebAssembly.dll": "sha256-izxJlD6frDIMfvXz53B+rqp7FpLgQypiJO+1kqTMPf4=",
+ "Microsoft.AspNetCore.Metadata.dll": "sha256-iqHFPB3TeviSbUBknWFRzrVtYoeM5yjCHZzUVHF8vuc=",
+ "Microsoft.Data.Sqlite.dll": "sha256-2APhdoJiRh+A9T+uyJsqGt0JHq3RdNSC3fPoSSe91YE=",
+ "Microsoft.EntityFrameworkCore.dll": "sha256-KR5QxHOsgza\/t3BPKA8odzRIa3Js0wrbNVrGelvoZSI=",
+ "Microsoft.EntityFrameworkCore.Abstractions.dll": "sha256-UJ1JMLF3tbjK8Do2sbQwuFmLe08qMLv3y+TkkAHRKk4=",
+ "Microsoft.EntityFrameworkCore.Relational.dll": "sha256-9row\/IjY5yIxPIkKlF\/BajMoZ4AAioTVcJw48rwKctQ=",
+ "Microsoft.EntityFrameworkCore.Sqlite.dll": "sha256-XEzuSft3Ntqm6zzICOw4rsa2NAiLInTH\/+dH7nNzMxQ=",
+ "Microsoft.Extensions.Caching.Abstractions.dll": "sha256-WLcZIKlgct2nj4hpaBvZXfHorQG9DH9B\/FZ2IKePG2I=",
+ "Microsoft.Extensions.Caching.Memory.dll": "sha256-aOJetx2rPupAGsXg2NCRL5p+\/xdzMyUSbmn24txWfQw=",
+ "Microsoft.Extensions.Configuration.dll": "sha256-c8yYhfrOBLEnOBglLTu9peXSbJDwFpuT4UQiXSv28Og=",
+ "Microsoft.Extensions.Configuration.Abstractions.dll": "sha256-5Otet+KKVUjNkE\/hqcNWmt75H1K2VNuKPFagpRd6Ces=",
+ "Microsoft.Extensions.Configuration.Binder.dll": "sha256-wNKhG3Ovx8jqxbscz2AALlsTLfI6GL2dyDhe63mSsoM=",
+ "Microsoft.Extensions.Configuration.FileExtensions.dll": "sha256-n2fRP2\/1tGNzaCF5PU4hgTSlHK886OviBf2YAds3NdE=",
+ "Microsoft.Extensions.Configuration.Json.dll": "sha256-R28\/ywLWxIcFxKtDIj0IxC+bXi4urX6BHeLL24R+vTQ=",
+ "Microsoft.Extensions.DependencyInjection.dll": "sha256-KqgYK1NWqMxcNfw2Qah+gUhX2Nm+OZrHjyYDQ3VNCeA=",
+ "Microsoft.Extensions.DependencyInjection.Abstractions.dll": "sha256-nM2DA1GqKLxoPU+NHO\/Z5yQWH5ctJb+2Tu5b9VxIxeM=",
+ "Microsoft.Extensions.DependencyModel.dll": "sha256-tkBiVGV6aPhN9weYepMZ2vvS6Ggf0uOE88fuWINRAHg=",
+ "Microsoft.Extensions.FileProviders.Abstractions.dll": "sha256-7PzvEcQvpK1c8tTX9VPI8AF+XrekqbAytNBQXJjvTvQ=",
+ "Microsoft.Extensions.FileProviders.Physical.dll": "sha256-sXujvGMZDgBBZ9HqfcEq9XsM0pvwyhPt60NA9qLDzGI=",
+ "Microsoft.Extensions.FileSystemGlobbing.dll": "sha256-viiXOG0fwhWobT0TQ1ZOJiZBdRvYRlWbDtjz+6d8sQI=",
+ "Microsoft.Extensions.Logging.dll": "sha256-GDZQCBtVHfrZZ6fL95lGoinLeUWLjQShLbfESwO7mrc=",
+ "Microsoft.Extensions.Logging.Abstractions.dll": "sha256-w+c+xfLh8QIAwluhugyPc8sPvAmmIC\/UTxnugT7Oido=",
+ "Microsoft.Extensions.Options.dll": "sha256-eGESyy9mRu8RcCGajAu4E8nxSmeB5nxiZkFPVaZ5Vl0=",
+ "Microsoft.Extensions.Primitives.dll": "sha256-jOmoWSfsdQexH\/6QCA56gR1RMEqeix2iDDUBWbpAOQI=",
+ "Microsoft.JSInterop.dll": "sha256-jk2\/Vyub2GwMGkeIaCH7i0wYYpcirlDPEBjrjmB47Es=",
+ "Microsoft.JSInterop.WebAssembly.dll": "sha256-9fmAKBOzIs7ySpwatFoAUhMgaJtTQvGN5+TArCHX9QE=",
+ "Radzen.Blazor.dll": "sha256-LUFpEkTpWClcEgwi3jvF4mmtg3CXyEmtNSZ0TNXNGtU=",
+ "SQLite.Net.dll": "sha256-2JdeuuhWXpz2DJFN3PmHVVLUtY++p54qPl6s1XtX9NY=",
+ "SQLitePCLRaw.batteries_v2.dll": "sha256-2QeGG\/\/WYKByIDzfutVzVUIdJQlHIlsXQwuQbTEOHoo=",
+ "SQLitePCLRaw.core.dll": "sha256-2FeknlBhJjPV1l5KbRBUXq1SNikSYFuSNXNmUSJQCOM=",
+ "SQLitePCLRaw.provider.e_sqlite3.dll": "sha256-liT7Qp0A3+\/bLUGJS9pNaH05jhO1mPcdTQTRoT8\/OdU=",
+ "SqliteWasmHelper.dll": "sha256-T91sHAM03+urZ2Y5OUYvogUE9spoqnl+VATi57siEWw=",
+ "System.IO.Pipelines.dll": "sha256-OXr1SqT\/FRQmnxVa6n811yUyJraU4tzQs5skNCiDmiM=",
+ "System.Linq.Dynamic.Core.dll": "sha256-+dlU8yi5zWnF9GeqOTl26t\/y5vllHc9O3mEwXdQjP7M=",
+ "Microsoft.CSharp.dll": "sha256-8UVF1TWUPxCBkipcI2XYSzpBv6v4U1oxvfrtuFpsZTI=",
+ "Microsoft.VisualBasic.Core.dll": "sha256-gOD5eyh0aM7C6A5ksyLWh2fDaTqfXiUJuOFFTeXz06U=",
+ "Microsoft.VisualBasic.dll": "sha256-ZgRq7Bi5L8\/sfQpBDMpurdhGGHrZsIojDBGBMJQPMj0=",
+ "Microsoft.Win32.Primitives.dll": "sha256-ZhVCFyk90FvLWdNLHg0816DLrv7oR64RYIFZktcYy44=",
+ "Microsoft.Win32.Registry.dll": "sha256-jpp3MYN\/4PplF\/bWmN8r+SWWnrYqto21REW7kqvSa\/I=",
+ "System.AppContext.dll": "sha256-FkC2fSdTB8v2YqBpVZ8IhcF8\/rwlsoc0S0C1O30Cj3A=",
+ "System.Buffers.dll": "sha256-RQzP+ZZgTQSsdVebQQr7rM3ybH4zMetX3ogViLMzKkc=",
+ "System.Collections.Concurrent.dll": "sha256-K5IYtPDpLmuajtkSJNiUtnGH4rcdfbnrFNKHx210zdY=",
+ "System.Collections.Immutable.dll": "sha256-V5G0k+87iocc4excGjwhOUnjdyt6d\/pViYxHsYvLtj4=",
+ "System.Collections.NonGeneric.dll": "sha256-ongTSqO+\/xwUXZ4E7L6qywEkY2NhrWHyg94aQ6lineo=",
+ "System.Collections.Specialized.dll": "sha256-FMogW7rW1H9l47Yx\/xv2ViQdhjjwRygx3TGnvDuPwsg=",
+ "System.Collections.dll": "sha256-z\/JnKzuXTD9rSeqPGZanuExp9nYphV\/K7k0b21AbQAg=",
+ "System.ComponentModel.Annotations.dll": "sha256-nKXO2oZme4LHLCJaTDhQ608MrcBM4odeWDTrdp95U+o=",
+ "System.ComponentModel.DataAnnotations.dll": "sha256-UQz1oXs2qNu34UWchEpK6CR0nvqhlqA2r0lpnK4PfTU=",
+ "System.ComponentModel.EventBasedAsync.dll": "sha256-L0yAMXk\/MGAfLFCOSv7C3spS9pQ8W6xZK5PrHnUWomo=",
+ "System.ComponentModel.Primitives.dll": "sha256-4XsPZYDIPP+Q3WDzaI0mGZj\/ISyHxAXfOab9ePAphok=",
+ "System.ComponentModel.TypeConverter.dll": "sha256-fQ54odFT8ZZT2pSvSALxTStO4zzGe5W6TEk++5dnSjU=",
+ "System.ComponentModel.dll": "sha256-Ywx4WFekhhw12Yu\/9NYmZqjo6We7nbzZ4Qbyqmfj0hA=",
+ "System.Configuration.dll": "sha256-pPLCkjVdnZWXplVAqYSwWlwK3233h\/iVw4RViSHbiOk=",
+ "System.Console.dll": "sha256-FEoQMhWI3PBEsDOi7bLsNHHZfElUCYTGmvj8N5RT2x0=",
+ "System.Core.dll": "sha256-H2eJ1+TAiHt8fkT37FdrWsTt6tILlC7tq1gl37p0Iv8=",
+ "System.Data.Common.dll": "sha256-QisFeEtPDQZT0vBlu+5YqQzck2fyDJoIzN+qR3SaSIs=",
+ "System.Data.DataSetExtensions.dll": "sha256-uGWJYi+eaImPEaJXOsBMBccFMRi4a0mPSzvKAlSnS54=",
+ "System.Data.dll": "sha256-gPYtercnm4lF230hqn9fkT8posbAeAxhR9Dylx\/oqFM=",
+ "System.Diagnostics.Contracts.dll": "sha256-BB2Izzth5DOv7CDvogmsCoyUI9GqjkH91ph\/cDjTROI=",
+ "System.Diagnostics.Debug.dll": "sha256-tUCd3ov7QrjYob8AA39SBAWbfsyggNbtPbO0AdFH2tY=",
+ "System.Diagnostics.DiagnosticSource.dll": "sha256-KmexLyYxoBsrDcwIHKgdc+3ZjwVk\/04zgZHORvFywCU=",
+ "System.Diagnostics.FileVersionInfo.dll": "sha256-+rTrw6ZymS88lOGWBojD\/d5Q5Dr63Q2GTvHldLu1lFI=",
+ "System.Diagnostics.Process.dll": "sha256-LhaRms3k8eUqXZLx1JWieR7NRwbtLCshNxa9juH4pIw=",
+ "System.Diagnostics.StackTrace.dll": "sha256-AK6nct1P1ggikg5WmDA6jT+xrqy\/HcXjh\/GN+ZWVBCc=",
+ "System.Diagnostics.TextWriterTraceListener.dll": "sha256-W0pyYKIb6Fs07PP3J5fWXNj13MCk39BGibsPbVscVxs=",
+ "System.Diagnostics.Tools.dll": "sha256-U7rcMfQYKo0e7rkziq29kEfwg6MmwnHHRQCZcYU+ADo=",
+ "System.Diagnostics.TraceSource.dll": "sha256-yNLYFuXxWdRQIlF84O8kDfn4AEA+xcThh0nC8cC9EnQ=",
+ "System.Diagnostics.Tracing.dll": "sha256-7svI2U48ItP6T41wPkVqMUlYkL0bIEaPLYHG4O03wdQ=",
+ "System.Drawing.Primitives.dll": "sha256-9hOmIWYgbRR6Pd067I4yjh6i5F9xlrD61QkoXynAPKc=",
+ "System.Drawing.dll": "sha256-7vgwJ4b\/T\/zsHYCXbAU7+qfEmGT6kIYlGib4JVOf9yA=",
+ "System.Dynamic.Runtime.dll": "sha256-C2cmGpKGlEZKs6w\/9vZkNURc7UJVVgzdt0KQ7jrGzKY=",
+ "System.Formats.Asn1.dll": "sha256-n9PAyaGVES2R6oc\/OrJ27AQOqqjUW3FHaeb00MJ0CDE=",
+ "System.Globalization.Calendars.dll": "sha256-QsR77tu42\/c9puyoFYn1Bqylq+bcLYEqGeMsZ8p67e0=",
+ "System.Globalization.Extensions.dll": "sha256-C\/PU2EvSH4CW9T+zdaqnveGIaWjzmzUjCyIifW24hmQ=",
+ "System.Globalization.dll": "sha256-XDfXwPWWLXu87fgoYs36Ahe+DV3BwYOq8Lo5Xwayn+s=",
+ "System.IO.Compression.Brotli.dll": "sha256-6aa2E3sdTiRGrkZwAma375sQd0Bu9ubuZdoO\/r48foE=",
+ "System.IO.Compression.FileSystem.dll": "sha256-MsW4P3qcM1YezdWwVsuJ5DVxCPgDkiyE9euV5E5za+E=",
+ "System.IO.Compression.ZipFile.dll": "sha256-SKC03Y5QjVMaGOy\/p23yyiMDGS6Q1rMTttLKzkm+\/cc=",
+ "System.IO.Compression.dll": "sha256-WoxloWnKqGzBlHfeWpLKdB31HOxspWGlMvd53f5uvSU=",
+ "System.IO.FileSystem.AccessControl.dll": "sha256-9lZ0fFg+9FgWEdGCGmpZJhSuGUOxtz+c6mKLG\/DMC1s=",
+ "System.IO.FileSystem.DriveInfo.dll": "sha256-Tve4l6w0buDpClDycjPW3iWyhcX1vhQIsHklups\/xI4=",
+ "System.IO.FileSystem.Primitives.dll": "sha256-FlZgUtpHH8KaWL7cdFs0TgXr9cIULio9YeDx7+oNVBU=",
+ "System.IO.FileSystem.Watcher.dll": "sha256-EvGvYNCiAn9YN3rkGTrGtLzCqb4grFSPsvY4A3oh1qQ=",
+ "System.IO.FileSystem.dll": "sha256-UkYgxpxY0338XGkxEO0CuZSflBXGAFKJXFR2R5z4P+8=",
+ "System.IO.IsolatedStorage.dll": "sha256-G8vUFtVjayiR8lHIAd\/YTsXoGKTkrWosThz76TI5F6I=",
+ "System.IO.MemoryMappedFiles.dll": "sha256-D4pZCClKeaBLhFoZ19iIAR6k2uHrrxVmtllhpctJv18=",
+ "System.IO.Pipes.AccessControl.dll": "sha256-E97VOGg\/r00sGq\/if6QLd9G7fQgVxMStkNdzKWosBc0=",
+ "System.IO.Pipes.dll": "sha256-C4IQAozM5w0\/FzeDCkfeUrlr8ZbYWUlmA7b6YHmfzS4=",
+ "System.IO.UnmanagedMemoryStream.dll": "sha256-OUEezfn7qJPkmgv4oFieC43+gdSR4IudWEmfZknpAvQ=",
+ "System.IO.dll": "sha256-lU8eZnIIizp3eeaB2d6Kln6nZwHW9R3jnEQZeD2V8xY=",
+ "System.Linq.Expressions.dll": "sha256-zOUJ1nU7gjDpiSNWaXa++X+GFzzGd7HsZvFfoOSFcwY=",
+ "System.Linq.Parallel.dll": "sha256-g9AG3FtD2iW0twp9gTsZ5eQxWPIwm1ebWRt1syV2LO4=",
+ "System.Linq.Queryable.dll": "sha256-9cwWew044xx3RqpdN3D79nxgEwSwPzod5T7drMNjz+c=",
+ "System.Linq.dll": "sha256-hdUKXrCbkbu0ZY0BVkcDwDephHAi7rCtPRuQsdcCtTk=",
+ "System.Memory.dll": "sha256-AfU9x5Gpyg13j+B1PLHFxhhkkgw\/7\/0tkUegOpuoEgU=",
+ "System.Net.Http.Json.dll": "sha256-iZlVaOgQCi58jRLdGxFiuaSpSssYMPS6GEiaKEqfhvU=",
+ "System.Net.Http.dll": "sha256-4yR1bmSBPbSKjxxAAS1Upz+lTblciEJH\/gCyWsauhas=",
+ "System.Net.HttpListener.dll": "sha256-ZQPq5fFUP0U8VYI5I0LtpDEUBxFCBXIG6jug5RaBwqw=",
+ "System.Net.Mail.dll": "sha256-MnSACm3tpx\/5bG+9+Fj\/i7AgK4i\/kvKWetkpt1g5t40=",
+ "System.Net.NameResolution.dll": "sha256-xeLOrtJGrxG1k1+u\/\/VEdRIe7hv2Ru3AJwlkqZDou10=",
+ "System.Net.NetworkInformation.dll": "sha256-PcZfOJfDIKZVhBhhMYebuxJpS2oaBXxwwv6eyBwZVEU=",
+ "System.Net.Ping.dll": "sha256-QGS3dgEF5FB4BGN1fKCwav+QYs4R8O4Oi01sYdXOW7E=",
+ "System.Net.Primitives.dll": "sha256-W04UfAzwxt9SY8kQoha\/R1k+yN2b5K+Z6ROtfEH8Pbw=",
+ "System.Net.Quic.dll": "sha256-IG6H+TIOb0bqDtFw9Qn0WjURUeZaZh05tleDP0Igyr8=",
+ "System.Net.Requests.dll": "sha256-7CinPBQRcnARva3fSxfa7b2Remh2M5mQANlhaLYNfc4=",
+ "System.Net.Security.dll": "sha256-FHAitcg1uQQSb2SCr+wV9vYHGbvxw6VVeHUu2Ll9uv8=",
+ "System.Net.ServicePoint.dll": "sha256-fZTDp1TP4cEV3IdM3nQadlZkiaZM+n2I1WNzePpzYCA=",
+ "System.Net.Sockets.dll": "sha256-NKDS334ykrgbEjXjTZ2mjdUyjLTbM8gHkJaaVyPuPLY=",
+ "System.Net.WebClient.dll": "sha256-+SoKAblCRPa6zmP3csrtTtbV9Wa92HxrzWTF149IlSU=",
+ "System.Net.WebHeaderCollection.dll": "sha256-uFOxHUjZnrZiDEoPGY9qwrsV7E+89W1ID0eGSgMdWi0=",
+ "System.Net.WebProxy.dll": "sha256-TeZoPKtofT0O2G7V0v+fC6H8P0Ug3moY0kcfbxnpqLk=",
+ "System.Net.WebSockets.Client.dll": "sha256-4ldQzLTe51J9nNPKx5uELr73Hzsj6E17qjtmoK1BhH0=",
+ "System.Net.WebSockets.dll": "sha256-YmBhXsxhj80n+eSad3ZTWRoWfcbqEP\/KPuLgVfuPRsw=",
+ "System.Net.dll": "sha256-YaKR6k7O3yzCeLAiTXyPSBw3zE\/dQLD38ASz8Vht9Ko=",
+ "System.Numerics.Vectors.dll": "sha256-mIgktrtOR72ylnu3SgMu3+0pm8szgOJrbLTc04idj6U=",
+ "System.Numerics.dll": "sha256-d9Rg5OLNjNKZkOTmbDY227k2hz0xNAWwZ\/33tOHN6DM=",
+ "System.ObjectModel.dll": "sha256-K12wC9\/+TxL\/3vzgANLwoCdnrapAbHnwzFX1\/zxyP4w=",
+ "System.Private.DataContractSerialization.dll": "sha256-T7MUMTyqvKubR6+D73kfs79Im4Sy4I1XdD5OM9iwkPM=",
+ "System.Private.Runtime.InteropServices.JavaScript.dll": "sha256-UyoXi6gzj6HkKcApx2qdOfvzAGv+PWa78VfNwSOdre8=",
+ "System.Private.Uri.dll": "sha256-J5bDSvm4jX7qFtcDn5OKJzNZbccp0Eocg5C3sXdfm8A=",
+ "System.Private.Xml.Linq.dll": "sha256-peKWRW2\/BSbZluHiwctIgwX44RUBcFlsjmzet3Oa1HI=",
+ "System.Private.Xml.dll": "sha256-WDaYzzP27HZ6zwijWZaEzarfWpYWMdCqIO66Jq+M8RQ=",
+ "System.Reflection.DispatchProxy.dll": "sha256-Kzb0rjUfXmtZ+uoohuIj6XG+IrIweKvIRMTcQtCQoUU=",
+ "System.Reflection.Emit.ILGeneration.dll": "sha256-pE1ZqtWtc3jcDQjJCHDfjmXRY27TcRX+YkRLJiTiqnM=",
+ "System.Reflection.Emit.Lightweight.dll": "sha256-PaNMU3ap\/8MItfqbF3LmTkkfsz2gbW3nn2aJcSsCCvs=",
+ "System.Reflection.Emit.dll": "sha256-XDgOnN+Ec5h+eb1bydVHHbZfUjvnRkKYIMlwh7K3kj8=",
+ "System.Reflection.Extensions.dll": "sha256-JKsTDJDSh5j9L\/WSxfipyo5VSwC+gt16DlIombV9JnQ=",
+ "System.Reflection.Metadata.dll": "sha256-Xvh75GrTyfErSp1eI5LnieGuksDwYVKvvXqttpdslds=",
+ "System.Reflection.Primitives.dll": "sha256-UvRlMpUS5pFfgKpchtV5yGODNSvSkO9XiiCCtITN+cI=",
+ "System.Reflection.TypeExtensions.dll": "sha256-q7H4U8NhV+IWEjmFbs7mPuUNLafE1NDii\/cAdVBXH+c=",
+ "System.Reflection.dll": "sha256-wU8NawkqHDchmF\/VaeIG8FLqLhdJXPqDZTYedfL2zM4=",
+ "System.Resources.Reader.dll": "sha256-rw\/+UpkqHo4rZvq32d1RdOSuR0hSQcSHupVq6NT1kXQ=",
+ "System.Resources.ResourceManager.dll": "sha256-zRBUrRgOkncVucHAXjBzrCMnmcNzZOvDCT+4etzTlWU=",
+ "System.Resources.Writer.dll": "sha256-EvevOqU6vp9dPJh6J\/l6QBezz22jY4iD9YPVSIFDb6s=",
+ "System.Runtime.CompilerServices.Unsafe.dll": "sha256-6K17V0W6VfnLiVg43QkSRUprOwfgapoZjHugwvuas0M=",
+ "System.Runtime.CompilerServices.VisualC.dll": "sha256-APa2rEQRuinyhpVkZ6KdD3iq0mEZIIIsv9XKEtHXGmM=",
+ "System.Runtime.Extensions.dll": "sha256-L2OMWQXRmvNpPocbC5pYLpbFdHj0FRuZkf2G33\/eoxE=",
+ "System.Runtime.Handles.dll": "sha256-n+MSIB4tQURkY7y12zb\/p8ZJbOszbezVR8TafPNrIsQ=",
+ "System.Runtime.InteropServices.RuntimeInformation.dll": "sha256-ZpFzbXgj3C5thUR+JOZH2saVJ6L6cGR+IkMWTdUo0zM=",
+ "System.Runtime.InteropServices.dll": "sha256-ZAfmG7mOtiTn\/\/KUyMrTFLy9q4nZr0noyyN8c1OhMi4=",
+ "System.Runtime.Intrinsics.dll": "sha256-EklfSpodEL4U2vHU3yQIBfs\/KaD1UslJItmf5WaKFzg=",
+ "System.Runtime.Loader.dll": "sha256-2JXo5DlrfJnRqqnmRp19HJbGqfCdFq3CMIwKCqhlHsQ=",
+ "System.Runtime.Numerics.dll": "sha256-W39hmZWKCKHsAoSsAYHc118MstJCwhGxdBvG1E0Y3h4=",
+ "System.Runtime.Serialization.Formatters.dll": "sha256-iIIhgtsbM\/1S9zc\/A2v5GL+mkZ9PIOmpzp5p5PAdLDA=",
+ "System.Runtime.Serialization.Json.dll": "sha256-gOe6QckUOG+ZzGfIUkE1yZQ5p3Vd7fIv0MM0NMG2+eg=",
+ "System.Runtime.Serialization.Primitives.dll": "sha256-E\/MN\/FdXTQFLd752DDurxJ3rLlac3OAJNiSqRUAC2Wc=",
+ "System.Runtime.Serialization.Xml.dll": "sha256-Eb+Bz6dqvV0QHj4hfC54n4fTFVQBej7g9qCQmB\/jQR0=",
+ "System.Runtime.Serialization.dll": "sha256-PhOVm+iUnZSLUKLKT7nJjkJ8dsuVVPQLGG3viCcmyME=",
+ "System.Runtime.dll": "sha256-nGmRByhcm6aLgKxHcPE7nXeD3\/vQJL2W6LbGkZ3jg8Y=",
+ "System.Security.AccessControl.dll": "sha256-KfxuXhcCl\/9Pmcl9FxOK2EX9U8rs\/0wy0oqrquXH5Uc=",
+ "System.Security.Claims.dll": "sha256-czRguTF9jKcB8T\/1fmKdMOCE8Np5jX+qLadC0n2v9hw=",
+ "System.Security.Cryptography.Algorithms.dll": "sha256-E6hIIvnYR+\/npcHrwVFG475bsSHGJ86dSpsD4rOpZ8U=",
+ "System.Security.Cryptography.Cng.dll": "sha256-cyGHGhH089lmlh7LsIcpbh0tBBalLhCnQSrnCxZPHNQ=",
+ "System.Security.Cryptography.Csp.dll": "sha256-cN0WAURvTnWTBj8ynoeKwdFPxx3QdpChZsWNFNYKPsk=",
+ "System.Security.Cryptography.Encoding.dll": "sha256-OKKqVj9kJ3Y1dkQSm1GZwcxwdVctR4lyfufvdOi2jjk=",
+ "System.Security.Cryptography.OpenSsl.dll": "sha256-52dV2B6OvEo59T9KyNotsyzjiayyJ+tdCrt3joYnOWk=",
+ "System.Security.Cryptography.Primitives.dll": "sha256-+gyCRDm6zbGjr\/A22iw7WCheMKs\/u3yPSVtnk8G0rIw=",
+ "System.Security.Cryptography.X509Certificates.dll": "sha256-rgRoBgWthPnK4ksHZoZBv9jh8ja7LyHcEYb3mr51EL0=",
+ "System.Security.Principal.Windows.dll": "sha256-gleQbVzK9IsJCVC8Pbdd7THYYyHvaOAPcPxHWL+lWT0=",
+ "System.Security.Principal.dll": "sha256-PvxVqzoAtUucsuUg+UlNjmQDoXQFAcmgd26iFc61X7k=",
+ "System.Security.SecureString.dll": "sha256-S5\/yBMMXJpWduYNdCHGBMcaHPUO0T1BNdA7n3zpz6JY=",
+ "System.Security.dll": "sha256-m9vbgGP4MLvRh8Ofa+\/GSS6yHHMZc1AikOXU\/FLeTHg=",
+ "System.ServiceModel.Web.dll": "sha256-KQfgXJ67+pR4yf+\/Egw1GuyOY4+pVGLv+ykG0MLi2+c=",
+ "System.ServiceProcess.dll": "sha256-j7NKDkjuaEOrTqTwf+wuXD5ecvV8hG0AL0H8ajGFxxs=",
+ "System.Text.Encoding.CodePages.dll": "sha256-DFJcVE5YoUsUTZDRTdi+8q1vcpIGZnI\/UbCf+4GdJ+0=",
+ "System.Text.Encoding.Extensions.dll": "sha256-ud04p\/IgOICKQ4hRKHn1B3qZeLYRc8X1FlUvhkoNFvM=",
+ "System.Text.Encoding.dll": "sha256-H9If4AVIBLCmSf4xTCdSH7qKas173BKxErN6IzYpdO0=",
+ "System.Text.Encodings.Web.dll": "sha256-P7DpDcIuZ9ctgcXD3CQ9b7rdLW9+jEL4vx9vKHYyxXo=",
+ "System.Text.Json.dll": "sha256-Z\/DhRhO1eT1cOMbPzDFqRIZCh3Ii5r37+mshMLLlID0=",
+ "System.Text.RegularExpressions.dll": "sha256-1epmmxLCRGJneOMTLFg5zryW96chWg9pBq+Rrya7gcY=",
+ "System.Threading.Channels.dll": "sha256-vBdrcTcL01LAZftbe6V\/MHW53fwnSnAvX7rvGPTHMD4=",
+ "System.Threading.Overlapped.dll": "sha256-CT9PucBLgFGf3wJ+LfWMJNI0YS2uEGgZIQEHgeLxSeU=",
+ "System.Threading.Tasks.Dataflow.dll": "sha256-V0gELODyuzGogxSSQc4h0p5tGA6TYEuNkSi6JaN2Bq8=",
+ "System.Threading.Tasks.Extensions.dll": "sha256-gbflKKrV044ELtapmrcITXsiZKK9ag8ia3+\/yxKI\/74=",
+ "System.Threading.Tasks.Parallel.dll": "sha256-NMkD5rsWmNqYTO8rqEdHHWhcJMuNfe9KMoMXcoy8P\/M=",
+ "System.Threading.Tasks.dll": "sha256-c1IdXHP1+ttWv2Lk3l5e9wt+xWA3UTlJzEp4YZA3jHM=",
+ "System.Threading.Thread.dll": "sha256-7JrNNGNseUTd8aBQ+46M75DDKegFxP4Mfj6EdGEO7e8=",
+ "System.Threading.ThreadPool.dll": "sha256-\/VtLkPxzg03axqV1AWU0y6rtPzUtE7Covhtz35Gd4WI=",
+ "System.Threading.Timer.dll": "sha256-9Sfga8ftnPShNk6TfvBN7pJttKTqoeB8Dh5Dl6Jj+0A=",
+ "System.Threading.dll": "sha256-\/qU2wLSHAm5M80qWvcUHegm58B5PE8jHz+vRhG0oyWk=",
+ "System.Transactions.Local.dll": "sha256-PwLEaoYIUqnhSUuBmLeg7Z9xdp3xeN\/KeLbl5KGWddM=",
+ "System.Transactions.dll": "sha256-Hw7yQFO6s2F7tSF28ZqbYVZYU8C0E2t3Tl3td0j03jA=",
+ "System.ValueTuple.dll": "sha256-bROgzdvXEX2kG+3mUsg2DaitY8orpKTci0LXGrkggmw=",
+ "System.Web.HttpUtility.dll": "sha256-T53rVtP58TtoQh2Fbp56OkN09vIEpHkmDEnRT3rgPaY=",
+ "System.Web.dll": "sha256-n\/Yffqf1O7pklzkAhoBOrgu3ctNf+N1BjZlI1XJ73OQ=",
+ "System.Windows.dll": "sha256-Wvaw3qXl5ky\/d9vKfUHusZKKAm7p6DXWjVUAdEtr0FQ=",
+ "System.Xml.Linq.dll": "sha256-cqkrXv5FQ\/CFEUI0TUq1XLudTpbl+ylbtK4MgrjjCn0=",
+ "System.Xml.ReaderWriter.dll": "sha256-LdOx6fdRyfImo076YqJswg5T\/kz0W35zY5Bxzvu4bg0=",
+ "System.Xml.Serialization.dll": "sha256-jDgvUAJcbga4YBf85rlJS+mBa9PPfEq5xPpWi0Yy7vU=",
+ "System.Xml.XDocument.dll": "sha256-379HQGCc7jcbJBv3EZ9oThRs4+KytL4+4grGGXK0NAE=",
+ "System.Xml.XPath.XDocument.dll": "sha256-HDoYy88J2a\/d03AAgJYAoU7SCO9fSuyRu9sUzFg5cSA=",
+ "System.Xml.XPath.dll": "sha256-zdO8KHqhw4CvshzXavUPMftdzNGO3P6RsoqiWIkB9VY=",
+ "System.Xml.XmlDocument.dll": "sha256-9mzmBNe2e7m9RnR3Pk+Rzkq8X3jVmuZoVaJ+aDtZ1vE=",
+ "System.Xml.XmlSerializer.dll": "sha256-7IG747ObsbU0F1XE1cPzo5stiK3+Bzu5QJTsbNp1ghw=",
+ "System.Xml.dll": "sha256-Pk6SFlpcUa9rGuzLsrYMxXBJ5+z27OyyFJ9LRlnopzM=",
+ "System.dll": "sha256-38ae8SoDtR6ynwmRtxV4XYa77mxCTS97Wi4r655aIGI=",
+ "WindowsBase.dll": "sha256-KvLLadWLn60MfIz5AYXq00L9kT67VsOzuR4tAm4vUow=",
+ "mscorlib.dll": "sha256-zNVxhWqav+Wvwc8mjOqsl40bhVLw78MhgITrphqoROc=",
+ "netstandard.dll": "sha256-yQ7oiuGXRX47V21EibXbfTPXOkJGOgCJhW9YF6e4hw0=",
+ "System.Private.CoreLib.dll": "sha256-Ug2\/rd8Ck7Dls6uaZNmrqc7EvE8f41iX96qdX57LStQ=",
+ "Account_SQLite.dll": "sha256-huZPl9JvS5hXgLcmNbcyCiWI\/3h5MVMsJScrLQuIGDw="
+ },
+ "extensions": null,
+ "lazyAssembly": null,
+ "libraryInitializers": null,
+ "pdb": {
+ "Account_SQLite.pdb": "sha256-HUdQaXaMhj97f6DyUgBc1KQlVH7sT2rk0vZfraEWGuw="
+ },
+ "runtime": {
+ "dotnet.timezones.blat": "sha256-44J\/Hf\/X8VbgiBAazDB8c0FaVrAFYOb4BbGyQwuzNyk=",
+ "icudt.dat": "sha256-Zuq0dWAsBm6\/2lSOsz7+H9PvFaRn61KIXHMMwXDfvyE=",
+ "icudt_CJK.dat": "sha256-WPyI4hWDPnOw62Nr27FkzGjdbucZnQD+Ph+GOPhAedw=",
+ "icudt_EFIGS.dat": "sha256-4RwaPx87Z4dvn77ie\/ro3\/QzyS+\/gGmO3Y\/0CSAXw4k=",
+ "icudt_no_CJK.dat": "sha256-OxylFgLJlFqixsj+nLxYVsv5iZLvfIKMpLf9hrWaChA=",
+ "dotnet.wasm": "sha256-3xQeIRtu\/DogglGK8zEoSxKRD\/1bIBBowMgkcGf9dKs=",
+ "dotnet..0qqpqpio55.js": "sha256-qCSLMmIabrtbMnfRF0pXcNjoDs32EPFTuLEZ0FHxHGI="
+ },
+ "satelliteResources": null
+ }
+}
\ No newline at end of file
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/+JTVyhb1.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/+JTVyhb1.gz
new file mode 100644
index 00000000..ba125393
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/+JTVyhb1.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/+Kre5Tpp.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/+Kre5Tpp.gz
new file mode 100644
index 00000000..37e4da66
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/+Kre5Tpp.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/+LRe9Tns.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/+LRe9Tns.gz
new file mode 100644
index 00000000..b5c3ae5a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/+LRe9Tns.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/+QY0PBsI.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/+QY0PBsI.gz
new file mode 100644
index 00000000..2058fd24
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/+QY0PBsI.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/+sQ5oVnS.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/+sQ5oVnS.gz
new file mode 100644
index 00000000..005c3f48
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/+sQ5oVnS.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/+tcLfj0H.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/+tcLfj0H.gz
new file mode 100644
index 00000000..e69ed55d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/+tcLfj0H.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0FKjlXJj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0FKjlXJj.gz
new file mode 100644
index 00000000..35c11a08
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0FKjlXJj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0Iwipr4w.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0Iwipr4w.gz
new file mode 100644
index 00000000..1b803110
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0Iwipr4w.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0JQ0c28H.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0JQ0c28H.gz
new file mode 100644
index 00000000..b3ba4a0b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0JQ0c28H.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0K+LzERo.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0K+LzERo.gz
new file mode 100644
index 00000000..1b167511
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0K+LzERo.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0QiSef+M.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0QiSef+M.gz
new file mode 100644
index 00000000..d4ab3b4b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0QiSef+M.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0fOL2sdj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0fOL2sdj.gz
new file mode 100644
index 00000000..e0c73508
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0fOL2sdj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/0mHQ+lYF.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/0mHQ+lYF.gz
new file mode 100644
index 00000000..7a0102dc
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/0mHQ+lYF.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/1WRZXFTn.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/1WRZXFTn.gz
new file mode 100644
index 00000000..14f88fb5
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/1WRZXFTn.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/1YNe1gPB.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/1YNe1gPB.gz
new file mode 100644
index 00000000..24301e7b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/1YNe1gPB.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/1l00Hi2C.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/1l00Hi2C.gz
new file mode 100644
index 00000000..181a420f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/1l00Hi2C.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/1vm4IFaG.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/1vm4IFaG.gz
new file mode 100644
index 00000000..bbf68757
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/1vm4IFaG.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/2BVSVm+S.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/2BVSVm+S.gz
new file mode 100644
index 00000000..845d3278
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/2BVSVm+S.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/2XfazusX.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/2XfazusX.gz
new file mode 100644
index 00000000..2d26d530
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/2XfazusX.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/2ge50QZE.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/2ge50QZE.gz
new file mode 100644
index 00000000..8d59691d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/2ge50QZE.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/2oVtJt50.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/2oVtJt50.gz
new file mode 100644
index 00000000..7e8934be
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/2oVtJt50.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/2pQ1JqsF.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/2pQ1JqsF.gz
new file mode 100644
index 00000000..50346fe5
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/2pQ1JqsF.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/2zEZXe0u.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/2zEZXe0u.gz
new file mode 100644
index 00000000..77d187dc
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/2zEZXe0u.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/4lUgkp+U.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/4lUgkp+U.gz
new file mode 100644
index 00000000..69d74a59
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/4lUgkp+U.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/4xtw6LPe.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/4xtw6LPe.gz
new file mode 100644
index 00000000..93a73c35
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/4xtw6LPe.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/56fZcRR8.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/56fZcRR8.gz
new file mode 100644
index 00000000..4b1a75d1
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/56fZcRR8.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/5EpkVPhj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/5EpkVPhj.gz
new file mode 100644
index 00000000..59f424eb
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/5EpkVPhj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/5HhZz3K9.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/5HhZz3K9.gz
new file mode 100644
index 00000000..f2f5d32d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/5HhZz3K9.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/5JyieZfh.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/5JyieZfh.gz
new file mode 100644
index 00000000..a357d812
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/5JyieZfh.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/5dCjNJ5b.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/5dCjNJ5b.gz
new file mode 100644
index 00000000..efcec999
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/5dCjNJ5b.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/5eY4GF5U.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/5eY4GF5U.gz
new file mode 100644
index 00000000..e8a69bb4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/5eY4GF5U.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/5pGaLGBy.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/5pGaLGBy.gz
new file mode 100644
index 00000000..76de839a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/5pGaLGBy.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/68cJW34q.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/68cJW34q.gz
new file mode 100644
index 00000000..31972096
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/68cJW34q.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/6GAA+LDT.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/6GAA+LDT.gz
new file mode 100644
index 00000000..eebcbe74
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/6GAA+LDT.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/6MQ1jJcK.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/6MQ1jJcK.gz
new file mode 100644
index 00000000..8d6d0645
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/6MQ1jJcK.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/6eQHB3+4.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/6eQHB3+4.gz
new file mode 100644
index 00000000..9f6faac5
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/6eQHB3+4.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/6g5IwAqq.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/6g5IwAqq.gz
new file mode 100644
index 00000000..03873c42
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/6g5IwAqq.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/6za3LhEM.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/6za3LhEM.gz
new file mode 100644
index 00000000..1ae18e67
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/6za3LhEM.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/7RG3PMhI.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/7RG3PMhI.gz
new file mode 100644
index 00000000..7317c4f2
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/7RG3PMhI.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/7Yzj389P.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/7Yzj389P.gz
new file mode 100644
index 00000000..cc703da7
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/7Yzj389P.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/8bQLqeih.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/8bQLqeih.gz
new file mode 100644
index 00000000..1d4749f7
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/8bQLqeih.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/8jbtvLI5.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/8jbtvLI5.gz
new file mode 100644
index 00000000..afe06294
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/8jbtvLI5.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/91cuMT+c.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/91cuMT+c.gz
new file mode 100644
index 00000000..92292813
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/91cuMT+c.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/A3Z5u4ys.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/A3Z5u4ys.gz
new file mode 100644
index 00000000..d9b3f6f9
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/A3Z5u4ys.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/AG+zWk8B.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/AG+zWk8B.gz
new file mode 100644
index 00000000..cbab94c0
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/AG+zWk8B.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/BLUafUvS.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/BLUafUvS.gz
new file mode 100644
index 00000000..e2b87673
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/BLUafUvS.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/BqYnQ2NX.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/BqYnQ2NX.gz
new file mode 100644
index 00000000..fce16d46
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/BqYnQ2NX.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/CE3HGrFj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/CE3HGrFj.gz
new file mode 100644
index 00000000..8ccb5ed5
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/CE3HGrFj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/CGGDUrLS.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/CGGDUrLS.gz
new file mode 100644
index 00000000..30c54716
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/CGGDUrLS.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/CGeqtl+O.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/CGeqtl+O.gz
new file mode 100644
index 00000000..72a8adc3
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/CGeqtl+O.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/CzDJaXvP.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/CzDJaXvP.gz
new file mode 100644
index 00000000..0b490718
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/CzDJaXvP.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/D30ARJVX.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/D30ARJVX.gz
new file mode 100644
index 00000000..d4ccd67f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/D30ARJVX.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/DMHJGpTb.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/DMHJGpTb.gz
new file mode 100644
index 00000000..89d5299a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/DMHJGpTb.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/E4MUYSbj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/E4MUYSbj.gz
new file mode 100644
index 00000000..ae2b859f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/E4MUYSbj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/E64FvjlP.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/E64FvjlP.gz
new file mode 100644
index 00000000..db40331c
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/E64FvjlP.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/EYygXBXV.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/EYygXBXV.gz
new file mode 100644
index 00000000..4db742d1
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/EYygXBXV.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/EycU5AZA.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/EycU5AZA.gz
new file mode 100644
index 00000000..463b515d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/EycU5AZA.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/FEErnO+2.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/FEErnO+2.gz
new file mode 100644
index 00000000..9d414bf8
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/FEErnO+2.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/FH0Yj4k3.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/FH0Yj4k3.gz
new file mode 100644
index 00000000..0fe7e3f4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/FH0Yj4k3.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/FOVtCNm+.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/FOVtCNm+.gz
new file mode 100644
index 00000000..04b14df1
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/FOVtCNm+.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/G+v4Gqyr.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/G+v4Gqyr.gz
new file mode 100644
index 00000000..dfcad5ba
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/G+v4Gqyr.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/G6RHxxA7.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/G6RHxxA7.gz
new file mode 100644
index 00000000..ba10a393
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/G6RHxxA7.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/GA6UnUSo.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/GA6UnUSo.gz
new file mode 100644
index 00000000..5159ea5a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/GA6UnUSo.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/GiLT6S0T.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/GiLT6S0T.gz
new file mode 100644
index 00000000..85bfc72f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/GiLT6S0T.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/HH+np8ru.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/HH+np8ru.gz
new file mode 100644
index 00000000..a6efd270
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/HH+np8ru.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/HUmGKp8o.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/HUmGKp8o.gz
new file mode 100644
index 00000000..b17cb078
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/HUmGKp8o.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Ht1gJnwo.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Ht1gJnwo.gz
new file mode 100644
index 00000000..36a568c6
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Ht1gJnwo.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Hx9AKOya.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Hx9AKOya.gz
new file mode 100644
index 00000000..4b001bc3
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Hx9AKOya.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/IIwZRqn8.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/IIwZRqn8.gz
new file mode 100644
index 00000000..67e8720d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/IIwZRqn8.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/IM4GHJDx.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/IM4GHJDx.gz
new file mode 100644
index 00000000..cc515261
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/IM4GHJDx.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/IRFTg+Zn.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/IRFTg+Zn.gz
new file mode 100644
index 00000000..dd8f25b6
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/IRFTg+Zn.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/J4UVuU3X.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/J4UVuU3X.gz
new file mode 100644
index 00000000..e9f320b1
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/J4UVuU3X.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/JB+CJuXL.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/JB+CJuXL.gz
new file mode 100644
index 00000000..058e2d5f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/JB+CJuXL.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/JBZLbhsR.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/JBZLbhsR.gz
new file mode 100644
index 00000000..843bc9ce
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/JBZLbhsR.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/JWwzygqN.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/JWwzygqN.gz
new file mode 100644
index 00000000..c123472f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/JWwzygqN.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/JY9yV2o0.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/JY9yV2o0.gz
new file mode 100644
index 00000000..75c01d4e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/JY9yV2o0.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/JjqaMvBJ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/JjqaMvBJ.gz
new file mode 100644
index 00000000..7e8e6851
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/JjqaMvBJ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/KWzBYWxz.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/KWzBYWxz.gz
new file mode 100644
index 00000000..8ecd4024
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/KWzBYWxz.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/KXXhXkbu.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/KXXhXkbu.gz
new file mode 100644
index 00000000..d69cb29e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/KXXhXkbu.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/KfqDX+eU.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/KfqDX+eU.gz
new file mode 100644
index 00000000..0b32527c
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/KfqDX+eU.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/KvLNa2Bc.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/KvLNa2Bc.gz
new file mode 100644
index 00000000..46ecf908
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/KvLNa2Bc.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/LAErubWT.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/LAErubWT.gz
new file mode 100644
index 00000000..86777043
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/LAErubWT.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/LTEuWA3z.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/LTEuWA3z.gz
new file mode 100644
index 00000000..93a1dae4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/LTEuWA3z.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/M6gJA7L2.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/M6gJA7L2.gz
new file mode 100644
index 00000000..e2a10d6b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/M6gJA7L2.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/MG+l9gKt.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/MG+l9gKt.gz
new file mode 100644
index 00000000..03870874
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/MG+l9gKt.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/MuWbHBuW.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/MuWbHBuW.gz
new file mode 100644
index 00000000..91683384
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/MuWbHBuW.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/NSKpvYGD.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/NSKpvYGD.gz
new file mode 100644
index 00000000..d346e172
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/NSKpvYGD.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/NksrmDDk.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/NksrmDDk.gz
new file mode 100644
index 00000000..e0385cbf
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/NksrmDDk.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/NtPMok5n.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/NtPMok5n.gz
new file mode 100644
index 00000000..81f47a44
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/NtPMok5n.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/O0n+vaCx.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/O0n+vaCx.gz
new file mode 100644
index 00000000..6a25e55a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/O0n+vaCx.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/OHcrvftp.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/OHcrvftp.gz
new file mode 100644
index 00000000..45d72b57
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/OHcrvftp.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/OYiTuEMW.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/OYiTuEMW.gz
new file mode 100644
index 00000000..20e2a77f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/OYiTuEMW.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/OcErHWFw.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/OcErHWFw.gz
new file mode 100644
index 00000000..131a68cf
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/OcErHWFw.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/OhuJiVbC.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/OhuJiVbC.gz
new file mode 100644
index 00000000..96bfc5b7
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/OhuJiVbC.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/OkhxxYtB.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/OkhxxYtB.gz
new file mode 100644
index 00000000..16ccaf2b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/OkhxxYtB.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/OlSr4V7c.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/OlSr4V7c.gz
new file mode 100644
index 00000000..cdaddea0
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/OlSr4V7c.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/P9V4P+3u.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/P9V4P+3u.gz
new file mode 100644
index 00000000..d00f7aec
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/P9V4P+3u.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/PPCPRXaZ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/PPCPRXaZ.gz
new file mode 100644
index 00000000..2085e09a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/PPCPRXaZ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Pf+Dj+oK.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Pf+Dj+oK.gz
new file mode 100644
index 00000000..363523d8
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Pf+Dj+oK.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/PzgkgiCU.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/PzgkgiCU.gz
new file mode 100644
index 00000000..e2105018
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/PzgkgiCU.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/QIoil28w.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/QIoil28w.gz
new file mode 100644
index 00000000..c8124ae8
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/QIoil28w.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Qv3EwTy+.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Qv3EwTy+.gz
new file mode 100644
index 00000000..210039f6
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Qv3EwTy+.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/RiHs74k4.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/RiHs74k4.gz
new file mode 100644
index 00000000..3da8b345
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/RiHs74k4.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/S4jcrGte.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/S4jcrGte.gz
new file mode 100644
index 00000000..4f094734
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/S4jcrGte.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/ScGxZLHc.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/ScGxZLHc.gz
new file mode 100644
index 00000000..443117a4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/ScGxZLHc.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Sl0g++2k.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Sl0g++2k.gz
new file mode 100644
index 00000000..6a8f320f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Sl0g++2k.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Ss96Cozm.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Ss96Cozm.gz
new file mode 100644
index 00000000..9c6a9079
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Ss96Cozm.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/T6EYjrM3.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/T6EYjrM3.gz
new file mode 100644
index 00000000..f41de3f6
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/T6EYjrM3.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/TFiMoj8S.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/TFiMoj8S.gz
new file mode 100644
index 00000000..ee5bca3a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/TFiMoj8S.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/U1GjwWQV.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/U1GjwWQV.gz
new file mode 100644
index 00000000..b47daccd
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/U1GjwWQV.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/UDNB8RFz.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/UDNB8RFz.gz
new file mode 100644
index 00000000..05bdbc9a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/UDNB8RFz.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/UZuk9v7S.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/UZuk9v7S.gz
new file mode 100644
index 00000000..41ac5bf0
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/UZuk9v7S.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/UgfmWOey.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/UgfmWOey.gz
new file mode 100644
index 00000000..62c3e9ed
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/UgfmWOey.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/UjV8g6Wb.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/UjV8g6Wb.gz
new file mode 100644
index 00000000..7372ec44
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/UjV8g6Wb.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/UjjnPjhC.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/UjjnPjhC.gz
new file mode 100644
index 00000000..ea6e6fad
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/UjjnPjhC.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Uz49Tq2y.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Uz49Tq2y.gz
new file mode 100644
index 00000000..63dd4f11
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Uz49Tq2y.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/VBHSFBan.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/VBHSFBan.gz
new file mode 100644
index 00000000..a4aea805
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/VBHSFBan.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/VEpmbc+j.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/VEpmbc+j.gz
new file mode 100644
index 00000000..5caaba21
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/VEpmbc+j.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/VQvPAk3v.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/VQvPAk3v.gz
new file mode 100644
index 00000000..269c8def
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/VQvPAk3v.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/VUurIt2N.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/VUurIt2N.gz
new file mode 100644
index 00000000..326ac977
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/VUurIt2N.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/VeOJi+Gj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/VeOJi+Gj.gz
new file mode 100644
index 00000000..a44057d7
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/VeOJi+Gj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/VijnN3m+.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/VijnN3m+.gz
new file mode 100644
index 00000000..2166e345
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/VijnN3m+.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/W0iuVMXb.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/W0iuVMXb.gz
new file mode 100644
index 00000000..2d4b1dc4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/W0iuVMXb.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/WZrCPLxf.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/WZrCPLxf.gz
new file mode 100644
index 00000000..85ff1da4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/WZrCPLxf.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/WcHq51f8.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/WcHq51f8.gz
new file mode 100644
index 00000000..9db86fae
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/WcHq51f8.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Wq3tHjrU.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Wq3tHjrU.gz
new file mode 100644
index 00000000..23b4ca6e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Wq3tHjrU.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/XeLPKmXp.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/XeLPKmXp.gz
new file mode 100644
index 00000000..d4f51f40
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/XeLPKmXp.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Y4R2M7vg.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Y4R2M7vg.gz
new file mode 100644
index 00000000..fe971ddd
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Y4R2M7vg.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Y5yjli0O.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Y5yjli0O.gz
new file mode 100644
index 00000000..d603e641
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Y5yjli0O.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Y6HQNyKj.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Y6HQNyKj.gz
new file mode 100644
index 00000000..1d933408
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Y6HQNyKj.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/YLu1GWJ8.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/YLu1GWJ8.gz
new file mode 100644
index 00000000..47d752d2
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/YLu1GWJ8.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/YMLNoDcs.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/YMLNoDcs.gz
new file mode 100644
index 00000000..ecf7087b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/YMLNoDcs.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/YOMdCEDS.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/YOMdCEDS.gz
new file mode 100644
index 00000000..794f338b
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/YOMdCEDS.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/Zr4es2Pl.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/Zr4es2Pl.gz
new file mode 100644
index 00000000..b94b47f5
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/Zr4es2Pl.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/aeiE8f7u.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/aeiE8f7u.gz
new file mode 100644
index 00000000..e184392e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/aeiE8f7u.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/b4km8OTJ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/b4km8OTJ.gz
new file mode 100644
index 00000000..0d8fc21a
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/b4km8OTJ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/bL03ttyK.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/bL03ttyK.gz
new file mode 100644
index 00000000..125fdbb9
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/bL03ttyK.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/bQDTZzZq.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/bQDTZzZq.gz
new file mode 100644
index 00000000..3d1fbd31
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/bQDTZzZq.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/bThRWctG.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/bThRWctG.gz
new file mode 100644
index 00000000..8ce0ea97
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/bThRWctG.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/c0YuPbll.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/c0YuPbll.gz
new file mode 100644
index 00000000..99b0768e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/c0YuPbll.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/c1AOAAWG.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/c1AOAAWG.gz
new file mode 100644
index 00000000..36586699
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/c1AOAAWG.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/c6j+Y26l.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/c6j+Y26l.gz
new file mode 100644
index 00000000..71af6bc6
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/c6j+Y26l.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/dbqFKMmc.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/dbqFKMmc.gz
new file mode 100644
index 00000000..dce68734
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/dbqFKMmc.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/de5KTgXZ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/de5KTgXZ.gz
new file mode 100644
index 00000000..fe352a9e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/de5KTgXZ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/df1c6WT5.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/df1c6WT5.gz
new file mode 100644
index 00000000..2f5486e0
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/df1c6WT5.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/e3fzYNFK.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/e3fzYNFK.gz
new file mode 100644
index 00000000..b22cde33
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/e3fzYNFK.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/eDjy34wv.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/eDjy34wv.gz
new file mode 100644
index 00000000..b77c31ee
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/eDjy34wv.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/eWVBG67y.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/eWVBG67y.gz
new file mode 100644
index 00000000..c4811de3
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/eWVBG67y.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/evzhjbZl.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/evzhjbZl.gz
new file mode 100644
index 00000000..512d6d98
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/evzhjbZl.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/f0Eijqws.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/f0Eijqws.gz
new file mode 100644
index 00000000..9347e7ef
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/f0Eijqws.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/f620GeOq.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/f620GeOq.gz
new file mode 100644
index 00000000..1dcc1b3e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/f620GeOq.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/fPziUjLD.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/fPziUjLD.gz
new file mode 100644
index 00000000..4887af21
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/fPziUjLD.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/g4IGgIl0.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/g4IGgIl0.gz
new file mode 100644
index 00000000..f6ddd3cf
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/g4IGgIl0.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/gGwx65ye.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/gGwx65ye.gz
new file mode 100644
index 00000000..728a92bf
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/gGwx65ye.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/gTncO+bt.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/gTncO+bt.gz
new file mode 100644
index 00000000..6de91e1c
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/gTncO+bt.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/gY7C+Pj0.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/gY7C+Pj0.gz
new file mode 100644
index 00000000..063f7ff6
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/gY7C+Pj0.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/ghYVXx0t.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/ghYVXx0t.gz
new file mode 100644
index 00000000..a427c49c
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/ghYVXx0t.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/h5nmla+E.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/h5nmla+E.gz
new file mode 100644
index 00000000..9693a86f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/h5nmla+E.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/hApAU2Ux.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/hApAU2Ux.gz
new file mode 100644
index 00000000..d6644265
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/hApAU2Ux.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/hsVedUCV.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/hsVedUCV.gz
new file mode 100644
index 00000000..c03155cc
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/hsVedUCV.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/i9ugRC3H.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/i9ugRC3H.gz
new file mode 100644
index 00000000..915a5313
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/i9ugRC3H.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/iSH8aA68.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/iSH8aA68.gz
new file mode 100644
index 00000000..da3db480
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/iSH8aA68.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/j++BdFv1.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/j++BdFv1.gz
new file mode 100644
index 00000000..3d7e29ea
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/j++BdFv1.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/jBbmVu0Y.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/jBbmVu0Y.gz
new file mode 100644
index 00000000..645211b4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/jBbmVu0Y.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/jbYvZPux.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/jbYvZPux.gz
new file mode 100644
index 00000000..3e0a2640
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/jbYvZPux.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/jfMvQQ6O.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/jfMvQQ6O.gz
new file mode 100644
index 00000000..1b5b7181
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/jfMvQQ6O.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/k+baeXzX.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/k+baeXzX.gz
new file mode 100644
index 00000000..ec25f4a7
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/k+baeXzX.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/k2roKodh.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/k2roKodh.gz
new file mode 100644
index 00000000..9fc2ce97
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/k2roKodh.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/kjMKg2YM.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/kjMKg2YM.gz
new file mode 100644
index 00000000..33d6c66d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/kjMKg2YM.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/kpwabJeh.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/kpwabJeh.gz
new file mode 100644
index 00000000..55264f69
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/kpwabJeh.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/kx7B1ihF.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/kx7B1ihF.gz
new file mode 100644
index 00000000..3e1eea29
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/kx7B1ihF.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/l6oXNOY5.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/l6oXNOY5.gz
new file mode 100644
index 00000000..20a6a0a3
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/l6oXNOY5.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/l6xNnSyK.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/l6xNnSyK.gz
new file mode 100644
index 00000000..66d40a4d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/l6xNnSyK.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/lJfRzgHZ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/lJfRzgHZ.gz
new file mode 100644
index 00000000..14636b46
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/lJfRzgHZ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/lKnsk7jv.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/lKnsk7jv.gz
new file mode 100644
index 00000000..48d707de
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/lKnsk7jv.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/lf6EacQh.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/lf6EacQh.gz
new file mode 100644
index 00000000..6c46fbef
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/lf6EacQh.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/m1I7g+si.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/m1I7g+si.gz
new file mode 100644
index 00000000..15fc7a08
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/m1I7g+si.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/mKCm41GD.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/mKCm41GD.gz
new file mode 100644
index 00000000..6ecae334
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/mKCm41GD.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/mYkuZEdi.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/mYkuZEdi.gz
new file mode 100644
index 00000000..18ab8916
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/mYkuZEdi.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/o7uAv0wC.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/o7uAv0wC.gz
new file mode 100644
index 00000000..e1a73f0e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/o7uAv0wC.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/od2uW63o.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/od2uW63o.gz
new file mode 100644
index 00000000..801c4b10
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/od2uW63o.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/p+xdbHnC.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/p+xdbHnC.gz
new file mode 100644
index 00000000..263d4883
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/p+xdbHnC.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/pWIEjruq.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/pWIEjruq.gz
new file mode 100644
index 00000000..adfa14b9
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/pWIEjruq.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/peDw+Yy9.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/peDw+Yy9.gz
new file mode 100644
index 00000000..88b39f38
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/peDw+Yy9.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/q+C86qWT.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/q+C86qWT.gz
new file mode 100644
index 00000000..0da58390
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/q+C86qWT.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/qHHiOcs6.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/qHHiOcs6.gz
new file mode 100644
index 00000000..f1f0d142
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/qHHiOcs6.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/qKorz+QM.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/qKorz+QM.gz
new file mode 100644
index 00000000..7ba234f4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/qKorz+QM.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/rIzXv3eE.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/rIzXv3eE.gz
new file mode 100644
index 00000000..cb3f0c2f
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/rIzXv3eE.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/sOFvdHMh.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/sOFvdHMh.gz
new file mode 100644
index 00000000..0345e5ff
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/sOFvdHMh.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/sh794WsF.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/sh794WsF.gz
new file mode 100644
index 00000000..f58dcd60
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/sh794WsF.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/spxJVBGU.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/spxJVBGU.gz
new file mode 100644
index 00000000..fd11c5f9
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/spxJVBGU.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/tGWz2oWJ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/tGWz2oWJ.gz
new file mode 100644
index 00000000..c11e0b62
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/tGWz2oWJ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/tLnY+z2a.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/tLnY+z2a.gz
new file mode 100644
index 00000000..e3c7207d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/tLnY+z2a.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/tNIMt8TM.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/tNIMt8TM.gz
new file mode 100644
index 00000000..da396bc4
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/tNIMt8TM.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/tYeVKjgS.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/tYeVKjgS.gz
new file mode 100644
index 00000000..cdcd4555
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/tYeVKjgS.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/tgrMqSNc.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/tgrMqSNc.gz
new file mode 100644
index 00000000..f3f7d82d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/tgrMqSNc.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/tmzMw3td.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/tmzMw3td.gz
new file mode 100644
index 00000000..80fedafc
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/tmzMw3td.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/ttWvaRvQ.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/ttWvaRvQ.gz
new file mode 100644
index 00000000..13ac0a41
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/ttWvaRvQ.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/vI1ipYqb.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/vI1ipYqb.gz
new file mode 100644
index 00000000..0f31cb18
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/vI1ipYqb.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/vWSmlNx5.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/vWSmlNx5.gz
new file mode 100644
index 00000000..fb441c9c
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/vWSmlNx5.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/vgE+rhU1.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/vgE+rhU1.gz
new file mode 100644
index 00000000..300fad82
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/vgE+rhU1.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/vpDjtL+6.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/vpDjtL+6.gz
new file mode 100644
index 00000000..3a3f1df8
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/vpDjtL+6.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/vrvJMn09.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/vrvJMn09.gz
new file mode 100644
index 00000000..861bd518
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/vrvJMn09.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/wFpQ4XsM.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/wFpQ4XsM.gz
new file mode 100644
index 00000000..18d18443
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/wFpQ4XsM.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/wRuJDVjF.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/wRuJDVjF.gz
new file mode 100644
index 00000000..ec85a01e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/wRuJDVjF.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/wrRolEjk.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/wrRolEjk.gz
new file mode 100644
index 00000000..433c1484
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/wrRolEjk.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/x3WDy8sM.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/x3WDy8sM.gz
new file mode 100644
index 00000000..4f6d28bf
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/x3WDy8sM.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/x3ZTCwCx.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/x3ZTCwCx.gz
new file mode 100644
index 00000000..d7d0a3f1
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/x3ZTCwCx.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/xFv7r9Ii.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/xFv7r9Ii.gz
new file mode 100644
index 00000000..04301fc9
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/xFv7r9Ii.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/xdpXJry5.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/xdpXJry5.gz
new file mode 100644
index 00000000..cd70c8db
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/xdpXJry5.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/xmiwABxn.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/xmiwABxn.gz
new file mode 100644
index 00000000..8a8d8a2d
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/xmiwABxn.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/yMqHz40p.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/yMqHz40p.gz
new file mode 100644
index 00000000..3a0e293e
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/yMqHz40p.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/yTICDYKU.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/yTICDYKU.gz
new file mode 100644
index 00000000..686a30f9
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/yTICDYKU.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/yeh6ldoC.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/yeh6ldoC.gz
new file mode 100644
index 00000000..a7af8feb
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/yeh6ldoC.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/build-gz/yjo6GPoA.gz b/Account_SQLite/obj/Debug/net6.0/build-gz/yjo6GPoA.gz
new file mode 100644
index 00000000..fbd779e5
Binary files /dev/null and b/Account_SQLite/obj/Debug/net6.0/build-gz/yjo6GPoA.gz differ
diff --git a/Account_SQLite/obj/Debug/net6.0/project.razor.json b/Account_SQLite/obj/Debug/net6.0/project.razor.json
new file mode 100644
index 00000000..f52b2424
--- /dev/null
+++ b/Account_SQLite/obj/Debug/net6.0/project.razor.json
@@ -0,0 +1,72153 @@
+{
+ "FilePath": "/Users/normrasmussen/Documents/Northpass/Account_SQLite/Account_SQLite.csproj",
+ "Configuration": {
+ "ConfigurationName": "Default",
+ "LanguageVersion": "6.0",
+ "Extensions": []
+ },
+ "ProjectWorkspaceState": {
+ "TagHelpers": [
+ {
+ "HashCode": 1964660182,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.App",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "App"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.App"
+ }
+ },
+ {
+ "HashCode": -1845755178,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.App",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Account_SQLite.App"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.App",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1158828129,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Pages.Index",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Index"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Pages.Index"
+ }
+ },
+ {
+ "HashCode": 2116525074,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Pages.Index",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Account_SQLite.Pages.Index"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Pages.Index",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -404281168,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Pages._Host",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "_Host"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Pages._Host"
+ }
+ },
+ {
+ "HashCode": -2081302351,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Pages._Host",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Account_SQLite.Pages._Host"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Pages._Host",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1352886607,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Pages._Layout",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "_Layout"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Pages._Layout"
+ }
+ },
+ {
+ "HashCode": -217897336,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Pages._Layout",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Account_SQLite.Pages._Layout"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Pages._Layout",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1283336996,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Shared.MainLayout",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "MainLayout"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "Body",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Body",
+ "Components.ChildContent": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Shared.MainLayout"
+ }
+ },
+ {
+ "HashCode": 2123228338,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Shared.MainLayout",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Account_SQLite.Shared.MainLayout"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "Body",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Body",
+ "Components.ChildContent": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Shared.MainLayout",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 688575625,
+ "Kind": "Components.ChildContent",
+ "Name": "Account_SQLite.Shared.MainLayout.Body",
+ "AssemblyName": "Account_SQLite",
+ "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Body",
+ "ParentTag": "MainLayout"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Account_SQLite.Shared.MainLayout.Body",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 70463097,
+ "Kind": "Components.ChildContent",
+ "Name": "Account_SQLite.Shared.MainLayout.Body",
+ "AssemblyName": "Account_SQLite",
+ "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Body",
+ "ParentTag": "Account_SQLite.Shared.MainLayout"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Account_SQLite.Shared.MainLayout.Body",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 483615311,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Shared.NavMenu",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "NavMenu"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Shared.NavMenu"
+ }
+ },
+ {
+ "HashCode": -53193728,
+ "Kind": "Components.Component",
+ "Name": "Account_SQLite.Shared.NavMenu",
+ "AssemblyName": "Account_SQLite",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Account_SQLite.Shared.NavMenu"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Account_SQLite.Shared.NavMenu",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1329345848,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.CascadingValue",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n A component that provides a cascading value to all descendant components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "CascadingValue"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.CascadingValue component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n The content to which the value should be provided.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n The value to be provided.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Optionally gives a name to the provided value. Descendant components\n will be able to receive the value by specifying this name.\n \n If no name is specified, then descendant components will receive the\n value based the type of value they are requesting.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "IsFixed",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n If true, indicates that will not change. This is a\n performance optimization that allows the framework to skip setting up\n change notifications. Set this flag only if you will not change\n during the component's lifetime.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "IsFixed"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 1049477385,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.CascadingValue",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n A component that provides a cascading value to all descendant components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.CascadingValue"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.CascadingValue component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n The content to which the value should be provided.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n The value to be provided.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Optionally gives a name to the provided value. Descendant components\n will be able to receive the value by specifying this name.\n \n If no name is specified, then descendant components will receive the\n value based the type of value they are requesting.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "IsFixed",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n If true, indicates that will not change. This is a\n performance optimization that allows the framework to skip setting up\n change notifications. Set this flag only if you will not change\n during the component's lifetime.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "IsFixed"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1291523455,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n The content to which the value should be provided.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "CascadingValue"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": -1345302365,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n The content to which the value should be provided.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.CascadingValue"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 135625321,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.DynamicComponent",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n A component that renders another component dynamically according to its\n parameter.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "DynamicComponent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "Type",
+ "TypeName": "System.Type",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the type of the component to be rendered. The supplied type must\n implement .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Type"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Parameters",
+ "TypeName": "System.Collections.Generic.IDictionary",
+ "Documentation": "\n \n Gets or sets a dictionary of parameters to be passed to the component.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Parameters"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.DynamicComponent"
+ }
+ },
+ {
+ "HashCode": 8636080,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.DynamicComponent",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n A component that renders another component dynamically according to its\n parameter.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.DynamicComponent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "Type",
+ "TypeName": "System.Type",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the type of the component to be rendered. The supplied type must\n implement .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Type"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Parameters",
+ "TypeName": "System.Collections.Generic.IDictionary",
+ "Documentation": "\n \n Gets or sets a dictionary of parameters to be passed to the component.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Parameters"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.DynamicComponent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 543479437,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.LayoutView",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Displays the specified content inside the specified layout and any further\n nested layouts.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "LayoutView"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the content to display.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Layout",
+ "TypeName": "System.Type",
+ "Documentation": "\n \n Gets or sets the type of the layout in which to display the content.\n The type must implement and accept a parameter named .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Layout"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView"
+ }
+ },
+ {
+ "HashCode": -357923562,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.LayoutView",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Displays the specified content inside the specified layout and any further\n nested layouts.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.LayoutView"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the content to display.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Layout",
+ "TypeName": "System.Type",
+ "Documentation": "\n \n Gets or sets the type of the layout in which to display the content.\n The type must implement and accept a parameter named .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Layout"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -435141425,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.LayoutView.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Gets or sets the content to display.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "LayoutView"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": -953400655,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.LayoutView.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Gets or sets the content to display.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.LayoutView"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 192789656,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.RouteView",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Displays the specified page component, rendering it inside its layout\n and any further nested layouts.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "RouteView"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "RouteData",
+ "TypeName": "Microsoft.AspNetCore.Components.RouteData",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the route data. This determines the page that will be\n displayed and the parameter values that will be supplied to the page.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "RouteData"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DefaultLayout",
+ "TypeName": "System.Type",
+ "Documentation": "\n \n Gets or sets the type of a layout to be used if the page does not\n declare any layout. If specified, the type must implement \n and accept a parameter named .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DefaultLayout"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.RouteView"
+ }
+ },
+ {
+ "HashCode": -1045349262,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.RouteView",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Displays the specified page component, rendering it inside its layout\n and any further nested layouts.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.RouteView"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "RouteData",
+ "TypeName": "Microsoft.AspNetCore.Components.RouteData",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the route data. This determines the page that will be\n displayed and the parameter values that will be supplied to the page.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "RouteData"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DefaultLayout",
+ "TypeName": "System.Type",
+ "Documentation": "\n \n Gets or sets the type of a layout to be used if the page does not\n declare any layout. If specified, the type must implement \n and accept a parameter named .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DefaultLayout"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.RouteView",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 56326618,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n A component that supplies route data corresponding to the current navigation state.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Router"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AppAssembly",
+ "TypeName": "System.Reflection.Assembly",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the assembly that should be searched for components matching the URI.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AppAssembly"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAssemblies",
+ "TypeName": "System.Collections.Generic.IEnumerable",
+ "Documentation": "\n \n Gets or sets a collection of additional assemblies that should be searched for components\n that can match URIs.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAssemblies"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "NotFound",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "NotFound",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Found",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Found",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Navigating",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Navigating",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnNavigateAsync",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a handler that should be called before navigating to a new page.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnNavigateAsync",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "PreferExactMatches",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a flag to indicate whether route matching should prefer exact matches\n over wildcards.\n This property is obsolete and configuring it does nothing. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "PreferExactMatches"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router"
+ }
+ },
+ {
+ "HashCode": -1022200290,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n A component that supplies route data corresponding to the current navigation state.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Routing.Router"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AppAssembly",
+ "TypeName": "System.Reflection.Assembly",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the assembly that should be searched for components matching the URI.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AppAssembly"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAssemblies",
+ "TypeName": "System.Collections.Generic.IEnumerable",
+ "Documentation": "\n \n Gets or sets a collection of additional assemblies that should be searched for components\n that can match URIs.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAssemblies"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "NotFound",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "NotFound",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Found",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "IsEditorRequired": true,
+ "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Found",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Navigating",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Navigating",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnNavigateAsync",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a handler that should be called before navigating to a new page.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnNavigateAsync",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "PreferExactMatches",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a flag to indicate whether route matching should prefer exact matches\n over wildcards.\n This property is obsolete and configuring it does nothing. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "PreferExactMatches"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 2121904283,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router.NotFound",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "NotFound",
+ "ParentTag": "Router"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.NotFound",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 905208604,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router.NotFound",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "NotFound",
+ "ParentTag": "Microsoft.AspNetCore.Components.Routing.Router"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.NotFound",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 2060954799,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router.Found",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Found",
+ "ParentTag": "Router"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'Found' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Found",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": -941437737,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router.Found",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Found",
+ "ParentTag": "Microsoft.AspNetCore.Components.Routing.Router"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'Found' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Found",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1674195640,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router.Navigating",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Navigating",
+ "ParentTag": "Router"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Navigating",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": -908640516,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.Router.Navigating",
+ "AssemblyName": "Microsoft.AspNetCore.Components",
+ "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Navigating",
+ "ParentTag": "Microsoft.AspNetCore.Components.Routing.Router"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Navigating",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1898063310,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Forms",
+ "Documentation": "\n \n Adds Data Annotations validation support to an .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "DataAnnotationsValidator"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator"
+ }
+ },
+ {
+ "HashCode": -10026977,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Forms",
+ "Documentation": "\n \n Adds Data Annotations validation support to an .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1882975803,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.EditForm",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Renders a form element that cascades an to descendants.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "EditForm"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created form element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "EditContext",
+ "TypeName": "Microsoft.AspNetCore.Components.Forms.EditContext",
+ "Documentation": "\n \n Supplies the edit context explicitly. If using this parameter, do not\n also supply , since the model value will be taken\n from the property.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "EditContext"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Model",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Specifies the top-level model object for the form. An edit context will\n be constructed for this model. If using this parameter, do not also supply\n a value for .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Model"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnSubmit",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the form is submitted.\n \n If using this parameter, you are responsible for triggering any validation\n manually, e.g., by calling .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnSubmit",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnValidSubmit",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be valid.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnValidSubmit",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnInvalidSubmit",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be invalid.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnInvalidSubmit",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm"
+ }
+ },
+ {
+ "HashCode": 421927255,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.EditForm",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Renders a form element that cascades an to descendants.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.EditForm"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created form element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "EditContext",
+ "TypeName": "Microsoft.AspNetCore.Components.Forms.EditContext",
+ "Documentation": "\n \n Supplies the edit context explicitly. If using this parameter, do not\n also supply , since the model value will be taken\n from the property.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "EditContext"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Model",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Specifies the top-level model object for the form. An edit context will\n be constructed for this model. If using this parameter, do not also supply\n a value for .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Model"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnSubmit",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the form is submitted.\n \n If using this parameter, you are responsible for triggering any validation\n manually, e.g., by calling .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnSubmit",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnValidSubmit",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be valid.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnValidSubmit",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OnInvalidSubmit",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be invalid.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnInvalidSubmit",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1878233389,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "EditForm"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 2008712819,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Forms.EditForm"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1758606321,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing values.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputCheckbox"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox"
+ }
+ },
+ {
+ "HashCode": -840027431,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing values.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1209785108,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputDate",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing date values.\n Supported types are and .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputDate"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputDate component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Type",
+ "TypeName": "Microsoft.AspNetCore.Components.Forms.InputDateType",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the type of HTML input to be rendered.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Type"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ParsingErrorMessage",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ParsingErrorMessage"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputDate",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 1090305002,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputDate",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing date values.\n Supported types are and .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputDate"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputDate component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Type",
+ "TypeName": "Microsoft.AspNetCore.Components.Forms.InputDateType",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the type of HTML input to be rendered.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Type"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ParsingErrorMessage",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ParsingErrorMessage"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputDate",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -570332362,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputFile",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A component that wraps the HTML file input element and supplies a for each file's contents.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputFile"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "OnChange",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the event callback that will be invoked when the collection of selected files changes.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnChange",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputFile"
+ }
+ },
+ {
+ "HashCode": 1539193240,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputFile",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A component that wraps the HTML file input element and supplies a for each file's contents.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputFile"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "OnChange",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the event callback that will be invoked when the collection of selected files changes.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OnChange",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputFile",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 2019026437,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing numeric values.\n Supported numeric types are , , , , , .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputNumber"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputNumber component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ParsingErrorMessage",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ParsingErrorMessage"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputNumber",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 247632442,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing numeric values.\n Supported numeric types are , , , , , .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputNumber"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputNumber component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ParsingErrorMessage",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ParsingErrorMessage"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputNumber",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -558745226,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputRadio",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component used for selecting a value from a group of choices.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputRadio"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadio component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of this input.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name of the parent input radio group.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadio",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": -970233211,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputRadio",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component used for selecting a value from a group of choices.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputRadio"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadio component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of this input.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name of the parent input radio group.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadio",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -57676994,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Groups child components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputRadioGroup"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadioGroup component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name of the group.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 280946126,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Groups child components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadioGroup component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name of the group.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 27735760,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "InputRadioGroup"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 135676635,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 466859867,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A dropdown selection component.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputSelect"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputSelect component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": -545979347,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A dropdown selection component.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputSelect"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputSelect component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "TValue",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1177167004,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "InputSelect"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 920334505,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Forms.InputSelect"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 2090282399,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputText",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing values.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputText"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputText"
+ }
+ },
+ {
+ "HashCode": -1296160209,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputText",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n An input component for editing values.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputText"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputText",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 2004840539,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A multiline input component for editing values.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "InputTextArea"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputTextArea"
+ }
+ },
+ {
+ "HashCode": 447563707,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A multiline input component for editing values.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.InputTextArea"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "DisplayName",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly. \n \n ",
+ "Metadata": {
+ "Common.PropertyName": "DisplayName"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputTextArea",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1335696404,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.ValidationMessage",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Displays a list of validation messages for a specified field within a cascaded .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ValidationMessage"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.ValidationMessage component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created div element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "For",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Specifies the field for which validation messages should be displayed.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "For",
+ "Components.GenericTyped": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationMessage",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 38989545,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.ValidationMessage",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Displays a list of validation messages for a specified field within a cascaded .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.ValidationMessage"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TValue",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.ValidationMessage component.",
+ "Metadata": {
+ "Common.PropertyName": "TValue",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created div element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "For",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Specifies the field for which validation messages should be displayed.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "For",
+ "Components.GenericTyped": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationMessage",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1146625507,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.ValidationSummary",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Displays a list of validation messages from a cascaded .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ValidationSummary"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "Model",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the model to produce the list of validation messages for.\n When specified, this lists all errors that are associated with the model instance.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Model"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created ul element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationSummary"
+ }
+ },
+ {
+ "HashCode": 1301273815,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Forms.ValidationSummary",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Displays a list of validation messages from a cascaded .\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Forms.ValidationSummary"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "Model",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the model to produce the list of validation messages for.\n When specified, this lists all errors that are associated with the model instance.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Model"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created ul element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationSummary",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 295116189,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n After navigating from one page to another, sets focus to an element\n matching a CSS selector. This can be used to build an accessible\n navigation system compatible with screen readers.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "FocusOnNavigate"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "RouteData",
+ "TypeName": "Microsoft.AspNetCore.Components.RouteData",
+ "Documentation": "\n \n Gets or sets the route data. This can be obtained from an enclosing\n component.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "RouteData"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Selector",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets a CSS selector describing the element to be focused after\n navigation between pages.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Selector"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate"
+ }
+ },
+ {
+ "HashCode": 1811208280,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n After navigating from one page to another, sets focus to an element\n matching a CSS selector. This can be used to build an accessible\n navigation system compatible with screen readers.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "RouteData",
+ "TypeName": "Microsoft.AspNetCore.Components.RouteData",
+ "Documentation": "\n \n Gets or sets the route data. This can be obtained from an enclosing\n component.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "RouteData"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Selector",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets a CSS selector describing the element to be focused after\n navigation between pages.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Selector"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1292029363,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Routing.NavLink",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A component that renders an anchor tag, automatically toggling its 'active'\n class based on whether its 'href' matches the current URI.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "NavLink"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ActiveClass",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the CSS class name applied to the NavLink when the\n current route matches the NavLink href.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ActiveClass"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be added to the generated\n a element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content of the component.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Match",
+ "TypeName": "Microsoft.AspNetCore.Components.Routing.NavLinkMatch",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets a value representing the URL matching behavior.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Match"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink"
+ }
+ },
+ {
+ "HashCode": -6212625,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Routing.NavLink",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n A component that renders an anchor tag, automatically toggling its 'active'\n class based on whether its 'href' matches the current URI.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Routing.NavLink"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ActiveClass",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the CSS class name applied to the NavLink when the\n current route matches the NavLink href.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ActiveClass"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AdditionalAttributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Gets or sets a collection of additional attributes that will be added to the generated\n a element.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AdditionalAttributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content of the component.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Match",
+ "TypeName": "Microsoft.AspNetCore.Components.Routing.NavLinkMatch",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets a value representing the URL matching behavior.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Match"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1588330617,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the child content of the component.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "NavLink"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": -1262451715,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the child content of the component.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Routing.NavLink"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 634714648,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.HeadContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Provides content to components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "HeadContent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the content to be rendered in instances.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.HeadContent"
+ }
+ },
+ {
+ "HashCode": 469713427,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.HeadContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Provides content to components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Web.HeadContent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the content to be rendered in instances.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.HeadContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1465380394,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.HeadContent.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the content to be rendered in instances.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "HeadContent"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.HeadContent.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 2137111300,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.HeadContent.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the content to be rendered in instances.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.HeadContent"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.HeadContent.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1551613294,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.HeadOutlet",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Renders content provided by components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "HeadOutlet"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.HeadOutlet"
+ }
+ },
+ {
+ "HashCode": -2033844392,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.HeadOutlet",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Renders content provided by components.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Web.HeadOutlet"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.HeadOutlet",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -837196579,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.PageTitle",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Enables rendering an HTML <title> to a component.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "PageTitle"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the content to be rendered as the document title.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.PageTitle"
+ }
+ },
+ {
+ "HashCode": 1653968951,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.PageTitle",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Enables rendering an HTML <title> to a component.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Web.PageTitle"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the content to be rendered as the document title.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.PageTitle",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -913612484,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.PageTitle.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the content to be rendered as the document title.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "PageTitle"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.PageTitle.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": -1206889877,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.PageTitle.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the content to be rendered as the document title.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.PageTitle"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.PageTitle.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1336619855,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Captures errors thrown from its child content.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ErrorBoundary"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n The content to be displayed when there is no error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ErrorContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n The content to be displayed when there is an error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ErrorContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MaximumErrorCount",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n The maximum number of errors that can be handled. If more errors are received,\n they will be treated as fatal. Calling resets the count.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MaximumErrorCount"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary"
+ }
+ },
+ {
+ "HashCode": -961967957,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Captures errors thrown from its child content.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n The content to be displayed when there is no error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ErrorContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n The content to be displayed when there is an error.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ErrorContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MaximumErrorCount",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n The maximum number of errors that can be handled. If more errors are received,\n they will be treated as fatal. Calling resets the count.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MaximumErrorCount"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 246355302,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n The content to be displayed when there is no error.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "ErrorBoundary"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 1147855051,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n The content to be displayed when there is no error.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.ErrorBoundary"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 488207382,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ErrorContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n The content to be displayed when there is an error.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ErrorContent",
+ "ParentTag": "ErrorBoundary"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ErrorContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ErrorContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 2071666503,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ErrorContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n The content to be displayed when there is an error.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ErrorContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.ErrorBoundary"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ErrorContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ErrorContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1268547888,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Provides functionality for rendering a virtualized list of items.\n \n The context type for the items being rendered. \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TItem",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TItem for the Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize component.",
+ "Metadata": {
+ "Common.PropertyName": "TItem",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ItemContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ItemContent",
+ "Components.ChildContent": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ItemSize",
+ "TypeName": "System.Single",
+ "Documentation": "\n \n Gets the size of each item in pixels. Defaults to 50px.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ItemSize"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ItemsProvider",
+ "TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate",
+ "Documentation": "\n \n Gets or sets the function providing items to the list.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ItemsProvider",
+ "Components.DelegateSignature": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Items",
+ "TypeName": "System.Collections.Generic.ICollection",
+ "Documentation": "\n \n Gets or sets the fixed item source.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Items",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OverscanCount",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets a value that determines how many additional items will be rendered\n before and after the visible region. This help to reduce the frequency of rendering\n during scrolling. However, higher values mean that more elements will be present\n in the page.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OverscanCount"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": -1650963346,
+ "Kind": "Components.Component",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Provides functionality for rendering a virtualized list of items.\n \n The context type for the items being rendered. \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "TItem",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter TItem for the Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize component.",
+ "Metadata": {
+ "Common.PropertyName": "TItem",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ItemContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ItemContent",
+ "Components.ChildContent": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ItemSize",
+ "TypeName": "System.Single",
+ "Documentation": "\n \n Gets the size of each item in pixels. Defaults to 50px.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ItemSize"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ItemsProvider",
+ "TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate",
+ "Documentation": "\n \n Gets or sets the function providing items to the list.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ItemsProvider",
+ "Components.DelegateSignature": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Items",
+ "TypeName": "System.Collections.Generic.ICollection",
+ "Documentation": "\n \n Gets or sets the fixed item source.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Items",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "OverscanCount",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets a value that determines how many additional items will be rendered\n before and after the visible region. This help to reduce the frequency of rendering\n during scrolling. However, higher values mean that more elements will be present\n in the page.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "OverscanCount"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -2028593091,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 2012093680,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1664503032,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ItemContent",
+ "ParentTag": "Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ItemContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 672395101,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the item template for the list.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ItemContent",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'ItemContent' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -1185939526,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Placeholder",
+ "ParentTag": "Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'Placeholder' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 532960276,
+ "Kind": "Components.ChildContent",
+ "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder",
+ "AssemblyName": "Microsoft.AspNetCore.Components.Web",
+ "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Placeholder",
+ "ParentTag": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'Placeholder' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1679299036,
+ "Kind": "Components.Component",
+ "Name": "Radzen.RadzenComponentWithChildren",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n A base class of components that have child content.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "RadzenComponentWithChildren"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content\n \n The content of the child. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.RadzenComponentWithChildren"
+ }
+ },
+ {
+ "HashCode": -429798976,
+ "Kind": "Components.Component",
+ "Name": "Radzen.RadzenComponentWithChildren",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n A base class of components that have child content.\n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Radzen.RadzenComponentWithChildren"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "ChildContent",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the child content\n \n The content of the child. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ChildContent",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.RadzenComponentWithChildren",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1258376541,
+ "Kind": "Components.ChildContent",
+ "Name": "Radzen.RadzenComponentWithChildren.ChildContent",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Gets or sets the child content\n \n The content of the child. \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "RadzenComponentWithChildren"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Radzen.RadzenComponentWithChildren.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 2115612231,
+ "Kind": "Components.ChildContent",
+ "Name": "Radzen.RadzenComponentWithChildren.ChildContent",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Gets or sets the child content\n \n The content of the child. \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "ChildContent",
+ "ParentTag": "Radzen.RadzenComponentWithChildren"
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Radzen.RadzenComponentWithChildren.ChildContent",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": -571368949,
+ "Kind": "Components.Component",
+ "Name": "Radzen.DataBoundFormComponent",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Class DataBoundFormComponent.\n Implements the \n Implements the \n \n \n \n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "DataBoundFormComponent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "T",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter T for the Radzen.DataBoundFormComponent component.",
+ "Metadata": {
+ "Common.PropertyName": "T",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TabIndex",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the index of the tab.\n \n The index of the tab. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TabIndex"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterCaseSensitivity",
+ "TypeName": "Radzen.FilterCaseSensitivity",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter case sensitivity.\n \n The filter case sensitivity. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterCaseSensitivity"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterOperator",
+ "TypeName": "Radzen.StringFilterOperator",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter operator.\n \n The filter operator. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterOperator"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name.\n \n The name. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the placeholder.\n \n The placeholder. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Disabled",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is disabled.\n \n true if disabled; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Disabled"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Change",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the change.\n \n The change. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Change",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "LoadData",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the load data.\n \n The load data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "LoadData",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the value.\n \n The value. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the value changed.\n \n The value changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TextProperty",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the text property.\n \n The text property. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TextProperty"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Data",
+ "TypeName": "System.Collections.IEnumerable",
+ "Documentation": "\n \n Gets or sets the data.\n \n The data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Data"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets the value expression.\n \n The value expression. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.DataBoundFormComponent",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 2095563431,
+ "Kind": "Components.Component",
+ "Name": "Radzen.DataBoundFormComponent",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Class DataBoundFormComponent.\n Implements the \n Implements the \n \n \n \n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Radzen.DataBoundFormComponent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "T",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter T for the Radzen.DataBoundFormComponent component.",
+ "Metadata": {
+ "Common.PropertyName": "T",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TabIndex",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the index of the tab.\n \n The index of the tab. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TabIndex"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterCaseSensitivity",
+ "TypeName": "Radzen.FilterCaseSensitivity",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter case sensitivity.\n \n The filter case sensitivity. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterCaseSensitivity"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterOperator",
+ "TypeName": "Radzen.StringFilterOperator",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter operator.\n \n The filter operator. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterOperator"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name.\n \n The name. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the placeholder.\n \n The placeholder. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Disabled",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is disabled.\n \n true if disabled; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Disabled"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Change",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the change.\n \n The change. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Change",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "LoadData",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the load data.\n \n The load data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "LoadData",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the value.\n \n The value. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the value changed.\n \n The value changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TextProperty",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the text property.\n \n The text property. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TextProperty"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Data",
+ "TypeName": "System.Collections.IEnumerable",
+ "Documentation": "\n \n Gets or sets the data.\n \n The data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Data"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets the value expression.\n \n The value expression. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.DataBoundFormComponent",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1098781131,
+ "Kind": "Components.Component",
+ "Name": "Radzen.DropDownBase",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Base class of components that display a list of items.\n \n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "DropDownBase"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "T",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter T for the Radzen.DropDownBase component.",
+ "Metadata": {
+ "Common.PropertyName": "T",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Count",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Specifies the total number of items in the data source.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Count"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AllowVirtualization",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Specifies wether virtualization is enabled. Set to false by default.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AllowVirtualization"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "PageSize",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Specifies the default page size. Set to 5 by default.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "PageSize"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AllowFiltering",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether filtering is allowed. Set to false by default.\n \n true if filtering is allowed; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "AllowFiltering"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AllowClear",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether the user can clear the value. Set to false by default.\n \n true if clearing is allowed; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "AllowClear"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Multiple",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is multiple.\n \n true if multiple; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Multiple"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Template",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the template.\n \n The template. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Template",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueProperty",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the value property.\n \n The value property. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueProperty"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "SelectedItemChanged",
+ "TypeName": "System.Action",
+ "Documentation": "\n \n Gets or sets the selected item changed.\n \n The selected item changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "SelectedItemChanged",
+ "Components.DelegateSignature": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Data",
+ "TypeName": "System.Collections.IEnumerable",
+ "Documentation": "\n \n Gets or sets the data.\n \n The data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Data"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterDelay",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the filter delay.\n \n The filter delay. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterDelay"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "SelectedItem",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the selected item.\n \n The selected item. \n ",
+ "Metadata": {
+ "Common.PropertyName": "SelectedItem"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TabIndex",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the index of the tab.\n \n The index of the tab. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TabIndex"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterCaseSensitivity",
+ "TypeName": "Radzen.FilterCaseSensitivity",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter case sensitivity.\n \n The filter case sensitivity. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterCaseSensitivity"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterOperator",
+ "TypeName": "Radzen.StringFilterOperator",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter operator.\n \n The filter operator. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterOperator"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name.\n \n The name. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the placeholder.\n \n The placeholder. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Disabled",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is disabled.\n \n true if disabled; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Disabled"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Change",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the change.\n \n The change. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Change",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "LoadData",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the load data.\n \n The load data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "LoadData",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the value.\n \n The value. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the value changed.\n \n The value changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TextProperty",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the text property.\n \n The text property. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TextProperty"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets the value expression.\n \n The value expression. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.DropDownBase",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": -317505598,
+ "Kind": "Components.Component",
+ "Name": "Radzen.DropDownBase",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Base class of components that display a list of items.\n \n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Radzen.DropDownBase"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "T",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter T for the Radzen.DropDownBase component.",
+ "Metadata": {
+ "Common.PropertyName": "T",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Count",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Specifies the total number of items in the data source.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Count"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AllowVirtualization",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Specifies wether virtualization is enabled. Set to false by default.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "AllowVirtualization"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "PageSize",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Specifies the default page size. Set to 5 by default.\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "PageSize"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AllowFiltering",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether filtering is allowed. Set to false by default.\n \n true if filtering is allowed; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "AllowFiltering"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "AllowClear",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether the user can clear the value. Set to false by default.\n \n true if clearing is allowed; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "AllowClear"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Multiple",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is multiple.\n \n true if multiple; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Multiple"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Template",
+ "TypeName": "Microsoft.AspNetCore.Components.RenderFragment",
+ "Documentation": "\n \n Gets or sets the template.\n \n The template. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Template",
+ "Components.ChildContent": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueProperty",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the value property.\n \n The value property. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueProperty"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "SelectedItemChanged",
+ "TypeName": "System.Action",
+ "Documentation": "\n \n Gets or sets the selected item changed.\n \n The selected item changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "SelectedItemChanged",
+ "Components.DelegateSignature": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Data",
+ "TypeName": "System.Collections.IEnumerable",
+ "Documentation": "\n \n Gets or sets the data.\n \n The data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Data"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterDelay",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the filter delay.\n \n The filter delay. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterDelay"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "SelectedItem",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the selected item.\n \n The selected item. \n ",
+ "Metadata": {
+ "Common.PropertyName": "SelectedItem"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TabIndex",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the index of the tab.\n \n The index of the tab. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TabIndex"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterCaseSensitivity",
+ "TypeName": "Radzen.FilterCaseSensitivity",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter case sensitivity.\n \n The filter case sensitivity. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterCaseSensitivity"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "FilterOperator",
+ "TypeName": "Radzen.StringFilterOperator",
+ "IsEnum": true,
+ "Documentation": "\n \n Gets or sets the filter operator.\n \n The filter operator. \n ",
+ "Metadata": {
+ "Common.PropertyName": "FilterOperator"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name.\n \n The name. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the placeholder.\n \n The placeholder. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Disabled",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is disabled.\n \n true if disabled; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Disabled"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Change",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the change.\n \n The change. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Change",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "LoadData",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the load data.\n \n The load data. \n ",
+ "Metadata": {
+ "Common.PropertyName": "LoadData",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "System.Object",
+ "Documentation": "\n \n Gets or sets the value.\n \n The value. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the value changed.\n \n The value changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TextProperty",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the text property.\n \n The text property. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TextProperty"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets the value expression.\n \n The value expression. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for all child content expressions.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.DropDownBase",
+ "Components.GenericTyped": "True",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 1885482516,
+ "Kind": "Components.ChildContent",
+ "Name": "Radzen.DropDownBase.Template",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Gets or sets the template.\n \n The template. \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Template",
+ "ParentTag": "DropDownBase"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'Template' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Radzen.DropDownBase.Template",
+ "Components.IsSpecialKind": "Components.ChildContent"
+ }
+ },
+ {
+ "HashCode": 783082079,
+ "Kind": "Components.ChildContent",
+ "Name": "Radzen.DropDownBase.Template",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Gets or sets the template.\n \n The template. \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "Template",
+ "ParentTag": "Radzen.DropDownBase"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.ChildContent",
+ "Name": "Context",
+ "TypeName": "System.String",
+ "Documentation": "Specifies the parameter name for the 'Template' child content expression.",
+ "Metadata": {
+ "Components.ChildContentParameterName": "True",
+ "Common.PropertyName": "Context"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.None",
+ "Common.TypeName": "Radzen.DropDownBase.Template",
+ "Components.IsSpecialKind": "Components.ChildContent",
+ "Components.NameMatch": "Components.FullyQualifiedNameMatch"
+ }
+ },
+ {
+ "HashCode": 539024764,
+ "Kind": "Components.Component",
+ "Name": "Radzen.FormComponent",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n \n Class FormComponent.\n Implements the \n Implements the \n \n \n \n \n ",
+ "CaseSensitive": true,
+ "TagMatchingRules": [
+ {
+ "TagName": "FormComponent"
+ }
+ ],
+ "BoundAttributes": [
+ {
+ "Kind": "Components.Component",
+ "Name": "T",
+ "TypeName": "System.Type",
+ "Documentation": "Specifies the type of the type parameter T for the Radzen.FormComponent component.",
+ "Metadata": {
+ "Common.PropertyName": "T",
+ "Components.TypeParameter": "True",
+ "Components.TypeParameterIsCascading": "False"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Name",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the name.\n \n The name. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Name"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "TabIndex",
+ "TypeName": "System.Int32",
+ "Documentation": "\n \n Gets or sets the index of the tab.\n \n The index of the tab. \n ",
+ "Metadata": {
+ "Common.PropertyName": "TabIndex"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Placeholder",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the placeholder.\n \n The placeholder. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Placeholder"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Disabled",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is disabled.\n \n true if disabled; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Disabled"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueChanged",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the value changed.\n \n The value changed. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueChanged",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Value",
+ "TypeName": "T",
+ "Documentation": "\n \n Gets or sets the value.\n \n The value. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Value",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Change",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n Gets or sets the change.\n \n The change. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Change",
+ "Components.EventCallback": "True",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ValueExpression",
+ "TypeName": "System.Linq.Expressions.Expression>",
+ "Documentation": "\n \n Gets or sets the value expression.\n \n The value expression. \n ",
+ "Metadata": {
+ "Common.PropertyName": "ValueExpression",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Attributes",
+ "TypeName": "System.Collections.Generic.IReadOnlyDictionary",
+ "Documentation": "\n \n Specifies additional custom attributes that will be rendered by the component.\n \n The attributes. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Attributes"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseEnter",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user hovers the component. Commonly used to display a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseEnter",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "MouseLeave",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user moves the mouse out of the component. Commonly used to hide a tooltip via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "MouseLeave",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "ContextMenu",
+ "TypeName": "Microsoft.AspNetCore.Components.EventCallback",
+ "Documentation": "\n \n A callback that will be invoked when the user right-clicks the component. Commonly used to display a context menu via \n .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "ContextMenu",
+ "Components.EventCallback": "True"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Culture",
+ "TypeName": "System.Globalization.CultureInfo",
+ "Documentation": "\n \n Gets or sets the culture used to display localizable data (numbers, dates). Set by default to .\n \n ",
+ "Metadata": {
+ "Common.PropertyName": "Culture"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Style",
+ "TypeName": "System.String",
+ "Documentation": "\n \n Gets or sets the inline CSS style.\n \n The style. \n ",
+ "Metadata": {
+ "Common.PropertyName": "Style"
+ }
+ },
+ {
+ "Kind": "Components.Component",
+ "Name": "Visible",
+ "TypeName": "System.Boolean",
+ "Documentation": "\n \n Gets or sets a value indicating whether this is visible. Invisible components are not rendered.\n \n true if visible; otherwise, false . \n ",
+ "Metadata": {
+ "Common.PropertyName": "Visible"
+ }
+ }
+ ],
+ "Metadata": {
+ "Runtime.Name": "Components.IComponent",
+ "Common.TypeName": "Radzen.FormComponent",
+ "Components.GenericTyped": "True"
+ }
+ },
+ {
+ "HashCode": 963643461,
+ "Kind": "Components.Component",
+ "Name": "Radzen.FormComponent",
+ "AssemblyName": "Radzen.Blazor",
+ "Documentation": "\n