diff --git a/Client.Wasm/Components/StudentCard.razor b/Client.Wasm/Components/StudentCard.razor
index 661f1181..6e17a1e8 100644
--- a/Client.Wasm/Components/StudentCard.razor
+++ b/Client.Wasm/Components/StudentCard.razor
@@ -4,10 +4,10 @@
- Номер №X "Название лабораторной"
- Вариант №Х "Название варианта"
- Выполнена Фамилией Именем 65ХХ
- Ссылка на форк
+ Номер №3 "«Интеграционное тестирование» - Реализация файлового сервиса и объектного хранилища, интеграционное тестирование бекенда"
+ Вариант №41 "Кредитная заявка "
+ Выполнена Кадниковым Егором 6513
+ Ссылка на форк
diff --git a/Client.Wasm/wwwroot/appsettings.json b/Client.Wasm/wwwroot/appsettings.json
index 4dda7c04..2272e7d2 100644
--- a/Client.Wasm/wwwroot/appsettings.json
+++ b/Client.Wasm/wwwroot/appsettings.json
@@ -1,10 +1,10 @@
{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "BaseAddress": "https://localhost:7170/land-plot"
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+ "BaseAddress": "https://localhost:7124/api/orders"
}
\ No newline at end of file
diff --git a/CloudDevelopment.AppHost/AppHost.cs b/CloudDevelopment.AppHost/AppHost.cs
new file mode 100644
index 00000000..58c7e40a
--- /dev/null
+++ b/CloudDevelopment.AppHost/AppHost.cs
@@ -0,0 +1,71 @@
+using Amazon;
+using Amazon.CDK.AWS.Servicecatalog;
+using Aspire.Hosting.LocalStack.Container;
+using LocalStack.Client.Enums;
+using Microsoft.Extensions.Configuration;
+
+var builder = DistributedApplication.CreateBuilder(args);
+
+var ports = builder.Configuration.GetSection("ApiService:Ports").Get()
+ ?? throw new InvalidOperationException("ApiService:Ports is not configured.");
+
+var cache = builder.AddRedis("credit-order-cache")
+ .WithRedisInsight(containerName: "credit-order-insight");
+
+var awsConfig = builder.AddAWSSDKConfig()
+ .WithProfile("default")
+ .WithRegion(RegionEndpoint.EUCentral1);
+
+var localstack = builder
+ .AddLocalStack("credid-order-localstack", awsConfig: awsConfig, configureContainer: container =>
+ {
+ container.Lifetime = ContainerLifetime.Session;
+ container.DebugLevel = 1;
+ container.LogLevel = LocalStackLogLevel.Debug;
+ container.Port = 4566;
+ container.AdditionalEnvironmentVariables
+ .Add("DEBUG", "1");
+ container.AdditionalEnvironmentVariables
+ .Add("SNS_CERT_URL_HOST", "sns.eu-central-1.amazonaws.com");
+ });
+
+var cloudFormationTemplate = "CloudFormation/sqs-s3.yml";
+var awsResources = builder.AddAWSCloudFormationTemplate("resources", cloudFormationTemplate, "credit-order")
+ .WithReference(awsConfig);
+
+var gateway = builder.AddProject("gateway");
+for (var i = 0; i < ports.Length; i++)
+{
+ var httpsPort = ports[i];
+ var httpPort = ports[i] - 1000;
+
+ var generator = builder.AddProject($"generator-r{i + 1}", launchProfileName: null)
+ .WithReference(cache, "RedisCache")
+ .WithHttpEndpoint(httpPort)
+ .WithReference(awsResources)
+ .WithHttpsEndpoint(httpsPort)
+ .WaitFor(cache)
+ .WaitFor(awsResources);
+
+ gateway.WaitFor(generator);
+}
+
+builder.AddProject("credit-order-wasm")
+ .WaitFor(gateway);
+
+var sink = builder.AddProject("credit-order-sink")
+ .WithHttpEndpoint(5444)
+ .WithReference(awsResources)
+ .WithEnvironment("Settings__MessageBroker", "SQS")
+ .WithEnvironment("Settings__S3Hosting", "Minio")
+ .WaitFor(awsResources);
+
+var minio = builder.AddMinioContainer("credit-order-minio");
+
+sink.WithEnvironment("AWS__Resources__MinioBucketName", "credit-order-bucket")
+ .WithReference(minio)
+ .WaitFor(minio);
+
+builder.UseLocalStack(localstack);
+
+builder.Build().Run();
diff --git a/CloudDevelopment.AppHost/CloudDevelopment.AppHost.csproj b/CloudDevelopment.AppHost/CloudDevelopment.AppHost.csproj
new file mode 100644
index 00000000..b1f213e2
--- /dev/null
+++ b/CloudDevelopment.AppHost/CloudDevelopment.AppHost.csproj
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+ 2f419979-4dcb-43a3-bf86-3b5579f994b9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
+
+
+
+
diff --git a/CloudDevelopment.AppHost/CloudFormation/sqs-s3.yml b/CloudDevelopment.AppHost/CloudFormation/sqs-s3.yml
new file mode 100644
index 00000000..b637a964
--- /dev/null
+++ b/CloudDevelopment.AppHost/CloudFormation/sqs-s3.yml
@@ -0,0 +1,62 @@
+AWSTemplateFormatVersion: '2010-09-09'
+Description: 'Cloud formation template for credit order project'
+
+Parameters:
+ BucketName:
+ Type: String
+ Description: Name for the S3 bucket
+ Default: 'credit-order-bucket'
+
+ QueueName:
+ Type: String
+ Description: Name for the SQS queue
+ Default: 'credit-order-queue'
+
+Resources:
+ CreditOrderBucket:
+ Type: AWS::S3::Bucket
+ Properties:
+ BucketName: !Ref BucketName
+ VersioningConfiguration:
+ Status: Suspended
+ Tags:
+ - Key: Name
+ Value: !Ref BucketName
+ - Key: Environment
+ Value: Sample
+ PublicAccessBlockConfiguration:
+ BlockPublicAcls: true
+ BlockPublicPolicy: true
+ IgnorePublicAcls: true
+ RestrictPublicBuckets: true
+
+ CreditOrderQueue:
+ Type: AWS::SQS::Queue
+ Properties:
+ QueueName: !Ref QueueName
+ VisibilityTimeout: 30
+ MessageRetentionPeriod: 345600
+ DelaySeconds: 0
+ ReceiveMessageWaitTimeSeconds: 0
+ Tags:
+ - Key: Name
+ Value: !Ref QueueName
+ - Key: Environment
+ Value: Sample
+
+Outputs:
+ S3BucketName:
+ Description: Name of the S3 bucket
+ Value: !Ref CreditOrderBucket
+
+ S3BucketArn:
+ Description: ARN of the S3 bucket
+ Value: !GetAtt CreditOrderBucket.Arn
+
+ SQSQueueName:
+ Description: Name of the SQS queue
+ Value: !GetAtt CreditOrderQueue.QueueName
+
+ SQSQueueArn:
+ Description: ARN of the SQS queue
+ Value: !GetAtt CreditOrderQueue.Arn
\ No newline at end of file
diff --git a/CloudDevelopment.AppHost/Properties/launchSettings.json b/CloudDevelopment.AppHost/Properties/launchSettings.json
new file mode 100644
index 00000000..b5c6a54c
--- /dev/null
+++ b/CloudDevelopment.AppHost/Properties/launchSettings.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:17129;http://localhost:15221",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21101",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22255"
+ }
+ },
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:15221",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19083",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20274"
+ }
+ }
+ }
+}
diff --git a/CloudDevelopment.AppHost/appsettings.Development.json b/CloudDevelopment.AppHost/appsettings.Development.json
new file mode 100644
index 00000000..0c208ae9
--- /dev/null
+++ b/CloudDevelopment.AppHost/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/CloudDevelopment.AppHost/appsettings.json b/CloudDevelopment.AppHost/appsettings.json
new file mode 100644
index 00000000..71bf8376
--- /dev/null
+++ b/CloudDevelopment.AppHost/appsettings.json
@@ -0,0 +1,8 @@
+{
+ "ApiService": {
+ "Ports": [ 7241, 7242, 7243, 7244, 7245 ]
+ },
+ "LocalStack": {
+ "UseLocalStack": true
+ }
+}
\ No newline at end of file
diff --git a/CloudDevelopment.ServiceDefaults/CloudDevelopment.ServiceDefaults.csproj b/CloudDevelopment.ServiceDefaults/CloudDevelopment.ServiceDefaults.csproj
new file mode 100644
index 00000000..1b6e209a
--- /dev/null
+++ b/CloudDevelopment.ServiceDefaults/CloudDevelopment.ServiceDefaults.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net8.0
+ enable
+ enable
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CloudDevelopment.ServiceDefaults/Extensions.cs b/CloudDevelopment.ServiceDefaults/Extensions.cs
new file mode 100644
index 00000000..8b1a2b03
--- /dev/null
+++ b/CloudDevelopment.ServiceDefaults/Extensions.cs
@@ -0,0 +1,128 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Diagnostics.HealthChecks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Diagnostics.HealthChecks;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.ServiceDiscovery;
+using OpenTelemetry;
+using OpenTelemetry.Metrics;
+using OpenTelemetry.Trace;
+
+namespace CloudDevelopment.ServiceDefaults;
+
+// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry.
+// This project should be referenced by each service project in your solution.
+// To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults
+public static class Extensions
+{
+ private const string HealthEndpointPath = "/health";
+ private const string AlivenessEndpointPath = "/alive";
+
+ public static TBuilder AddServiceDefaults(this TBuilder builder) where TBuilder : IHostApplicationBuilder
+ {
+ builder.ConfigureOpenTelemetry();
+
+ builder.AddDefaultHealthChecks();
+
+ builder.Services.AddServiceDiscovery();
+
+ builder.Services.ConfigureHttpClientDefaults(http =>
+ {
+ // Turn on resilience by default
+ http.AddStandardResilienceHandler();
+
+ // Turn on service discovery by default
+ http.AddServiceDiscovery();
+ });
+
+ // Uncomment the following to restrict the allowed schemes for service discovery.
+ // builder.Services.Configure(options =>
+ // {
+ // options.AllowedSchemes = ["https"];
+ // });
+
+ return builder;
+ }
+
+ public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) where TBuilder : IHostApplicationBuilder
+ {
+ builder.Logging.AddOpenTelemetry(logging =>
+ {
+ logging.IncludeFormattedMessage = true;
+ logging.IncludeScopes = true;
+ });
+
+ builder.Services.AddOpenTelemetry()
+ .WithMetrics(metrics =>
+ {
+ metrics.AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddRuntimeInstrumentation();
+ })
+ .WithTracing(tracing =>
+ {
+ tracing.AddSource(builder.Environment.ApplicationName)
+ .AddAspNetCoreInstrumentation(tracing =>
+ // Exclude health check requests from tracing
+ tracing.Filter = context =>
+ !context.Request.Path.StartsWithSegments(HealthEndpointPath)
+ && !context.Request.Path.StartsWithSegments(AlivenessEndpointPath)
+ )
+ // Uncomment the following line to enable gRPC instrumentation (requires the OpenTelemetry.Instrumentation.GrpcNetClient package)
+ //.AddGrpcClientInstrumentation()
+ .AddHttpClientInstrumentation();
+ });
+
+ builder.AddOpenTelemetryExporters();
+
+ return builder;
+ }
+
+ private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder
+ {
+ var useOtlpExporter = !string.IsNullOrWhiteSpace(builder.Configuration["OTEL_EXPORTER_OTLP_ENDPOINT"]);
+
+ if (useOtlpExporter)
+ {
+ builder.Services.AddOpenTelemetry().UseOtlpExporter();
+ }
+
+ // Uncomment the following lines to enable the Azure Monitor exporter (requires the Azure.Monitor.OpenTelemetry.AspNetCore package)
+ //if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"]))
+ //{
+ // builder.Services.AddOpenTelemetry()
+ // .UseAzureMonitor();
+ //}
+
+ return builder;
+ }
+
+ public static TBuilder AddDefaultHealthChecks(this TBuilder builder) where TBuilder : IHostApplicationBuilder
+ {
+ builder.Services.AddHealthChecks()
+ // Add a default liveness check to ensure app is responsive
+ .AddCheck("self", () => HealthCheckResult.Healthy(), ["live"]);
+
+ return builder;
+ }
+
+ public static WebApplication MapDefaultEndpoints(this WebApplication app)
+ {
+ // Adding health checks endpoints to applications in non-development environments has security implications.
+ // See https://aka.ms/dotnet/aspire/healthchecks for details before enabling these endpoints in non-development environments.
+ if (app.Environment.IsDevelopment())
+ {
+ // All health checks must pass for app to be considered ready to accept traffic after starting
+ app.MapHealthChecks(HealthEndpointPath);
+
+ // Only health checks tagged with the "live" tag must pass for app to be considered alive
+ app.MapHealthChecks(AlivenessEndpointPath, new HealthCheckOptions
+ {
+ Predicate = r => r.Tags.Contains("live")
+ });
+ }
+
+ return app;
+ }
+}
diff --git a/CloudDevelopment.sln b/CloudDevelopment.sln
index cb48241d..d143ef73 100644
--- a/CloudDevelopment.sln
+++ b/CloudDevelopment.sln
@@ -5,6 +5,18 @@ VisualStudioVersion = 17.14.36811.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.Wasm", "Client.Wasm\Client.Wasm.csproj", "{AE7EEA74-2FE0-136F-D797-854FD87E022A}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Service.Api", "Generator\Service.Api.csproj", "{5F162047-71C4-A730-10F2-8456E4D1F966}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudDevelopment.AppHost", "CloudDevelopment.AppHost\CloudDevelopment.AppHost.csproj", "{359B77C3-1D6B-4E58-A926-C907812424A8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudDevelopment.ServiceDefaults", "CloudDevelopment.ServiceDefaults\CloudDevelopment.ServiceDefaults.csproj", "{DC017A15-5E73-C618-2A78-CD0D64478DC9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Api.Gateway", "CreditOrder.Gateway\Api.Gateway.csproj", "{8A14F5A2-48C3-1C30-0A17-D7579F6795C9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Service.Storage", "Service.Storage\Service.Storage.csproj", "{8A73C6A0-9E6F-1B4F-CC95-75E08F6D247B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegrationTests", "IntegrationTests\IntegrationTests.csproj", "{0E29B01D-8437-41A8-B709-E22CF31AA194}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +27,30 @@ Global
{AE7EEA74-2FE0-136F-D797-854FD87E022A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE7EEA74-2FE0-136F-D797-854FD87E022A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE7EEA74-2FE0-136F-D797-854FD87E022A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5F162047-71C4-A730-10F2-8456E4D1F966}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5F162047-71C4-A730-10F2-8456E4D1F966}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5F162047-71C4-A730-10F2-8456E4D1F966}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5F162047-71C4-A730-10F2-8456E4D1F966}.Release|Any CPU.Build.0 = Release|Any CPU
+ {359B77C3-1D6B-4E58-A926-C907812424A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {359B77C3-1D6B-4E58-A926-C907812424A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {359B77C3-1D6B-4E58-A926-C907812424A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {359B77C3-1D6B-4E58-A926-C907812424A8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DC017A15-5E73-C618-2A78-CD0D64478DC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DC017A15-5E73-C618-2A78-CD0D64478DC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DC017A15-5E73-C618-2A78-CD0D64478DC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DC017A15-5E73-C618-2A78-CD0D64478DC9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8A14F5A2-48C3-1C30-0A17-D7579F6795C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8A14F5A2-48C3-1C30-0A17-D7579F6795C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8A14F5A2-48C3-1C30-0A17-D7579F6795C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8A14F5A2-48C3-1C30-0A17-D7579F6795C9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8A73C6A0-9E6F-1B4F-CC95-75E08F6D247B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8A73C6A0-9E6F-1B4F-CC95-75E08F6D247B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8A73C6A0-9E6F-1B4F-CC95-75E08F6D247B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8A73C6A0-9E6F-1B4F-CC95-75E08F6D247B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0E29B01D-8437-41A8-B709-E22CF31AA194}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0E29B01D-8437-41A8-B709-E22CF31AA194}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0E29B01D-8437-41A8-B709-E22CF31AA194}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0E29B01D-8437-41A8-B709-E22CF31AA194}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CreditOrder.Gateway/Api.Gateway.csproj b/CreditOrder.Gateway/Api.Gateway.csproj
new file mode 100644
index 00000000..f0acd112
--- /dev/null
+++ b/CreditOrder.Gateway/Api.Gateway.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CreditOrder.Gateway/LoadBalancers/WeightedRandomLoadBalancer.cs b/CreditOrder.Gateway/LoadBalancers/WeightedRandomLoadBalancer.cs
new file mode 100644
index 00000000..85e44087
--- /dev/null
+++ b/CreditOrder.Gateway/LoadBalancers/WeightedRandomLoadBalancer.cs
@@ -0,0 +1,113 @@
+using Api.Gateway.Models;
+using Ocelot.LoadBalancer.Interfaces;
+using Ocelot.Responses;
+using Ocelot.Values;
+
+namespace Api.Gateway.LoadBalancers;
+
+///
+/// Балансировщик нагрузки для Ocelot, работает по алгоритму weighted random.
+///
+/// Вес каждой реплики задаётся в конфигурации через секцию ReplicaWeights.
+///
+/// Чем больше вес реплики, тем выше вероятность, что запрос будет направлен именно на неt.
+///
+public sealed class WeightedRandomLoadBalancer(IConfiguration configuration,
+ Func>> _services) : ILoadBalancer
+{
+ ///
+ /// Конфигурация весов реплик downstream-сервисов.
+ ///
+ private readonly List _weights = configuration.GetSection("ReplicaWeights").Get>() ?? [];
+
+ ///
+ /// Тип балансировщика нагрузки.
+ /// Используется Ocelot для сопоставления с конфигурацией
+ /// LoadBalancerOptions.Type.
+ ///
+ public string Type => nameof(WeightedRandomLoadBalancer);
+
+ ///
+ /// lookup весов по паре (Host, Port).
+ ///
+ private readonly Dictionary<(string Host, int Port), int> _weightsByEndpoint =
+ (configuration.GetSection("ReplicaWeights").Get>() ?? [])
+ .ToDictionary(
+ w => (w.Host.ToLowerInvariant(), w.Port),
+ w => w.Weight);
+
+ ///
+ /// Выбирает downstream-сервис для обработки запроса.
+ /// Если веса для сервисов не заданы, используется первый доступный сервис.
+ ///
+ ///
+ /// HTTP-контекст текущего запроса.
+ /// В данном балансировщике не используется.
+ ///
+ ///
+ /// Объект ,
+ /// содержащий выбранный downstream-сервис.
+ ///
+ ///
+ /// Выбрасывается, если список downstream-сервисов пуст.
+ ///
+ public async Task> LeaseAsync(HttpContext _)
+ {
+ var services = await _services();
+
+ var candidates = new List<(Service Service, int Weight)>();
+
+ foreach (var service in services)
+ {
+ var key = (
+ service.HostAndPort.DownstreamHost.ToLowerInvariant(),
+ service.HostAndPort.DownstreamPort
+ );
+
+ if (_weightsByEndpoint.TryGetValue(key, out var serviceWeight))
+ {
+ candidates.Add((service, serviceWeight));
+ }
+ }
+
+ if (candidates.Count == 0)
+ {
+ var fallback = services.FirstOrDefault();
+ if (fallback is null)
+ {
+ throw new InvalidOperationException("No downstream services configured.");
+ }
+
+ return await Task.FromResult>(
+ new OkResponse(fallback.HostAndPort));
+ }
+
+ var totalWeight = candidates.Sum(x => x.Weight);
+ var resSum = Random.Shared.Next(1, totalWeight + 1);
+
+ var weight = 0;
+ foreach (var candidate in candidates)
+ {
+ weight += candidate.Weight;
+ if (resSum <= weight)
+ {
+ return await Task.FromResult>(
+ new OkResponse(candidate.Service.HostAndPort));
+ }
+ }
+
+ return await Task.FromResult>(
+ new OkResponse(candidates[^1].Service.HostAndPort));
+ }
+
+ ///
+ /// Освобождает ранее выделенный сервис.
+ ///
+ /// В данном балансировщике метод не используется,
+ /// так как выбор сервиса происходит без удержания состояния.
+ ///
+ /// Адрес сервиса.
+ public void Release(ServiceHostAndPort _)
+ {
+ }
+}
\ No newline at end of file
diff --git a/CreditOrder.Gateway/Models/ReplicaWeight.cs b/CreditOrder.Gateway/Models/ReplicaWeight.cs
new file mode 100644
index 00000000..64ad078e
--- /dev/null
+++ b/CreditOrder.Gateway/Models/ReplicaWeight.cs
@@ -0,0 +1,21 @@
+namespace Api.Gateway.Models;
+
+///
+/// Модель конфигурации реплики downstream-сервиса, используемая балансировщиком нагрузки шлюза.
+///
+public class ReplicaWeight
+{
+ ///
+ /// Хост сервиса-реплики.
+ ///
+ public string Host { get; set; } = string.Empty;
+ ///
+ /// Порт, на котором работает реплика сервиса.
+ ///
+ public int Port { get; set; }
+ ///
+ /// Вес реплики для алгоритма балансировки нагрузки.
+ /// Чем больше значение, тем чаще на эту реплику будут направляться запросы.
+ ///
+ public int Weight { get; set; }
+}
diff --git a/CreditOrder.Gateway/Program.cs b/CreditOrder.Gateway/Program.cs
new file mode 100644
index 00000000..364291d0
--- /dev/null
+++ b/CreditOrder.Gateway/Program.cs
@@ -0,0 +1,25 @@
+using Api.Gateway.LoadBalancers;
+using Ocelot.DependencyInjection;
+using Ocelot.LoadBalancer.Interfaces;
+using Ocelot.Middleware;
+
+var builder = WebApplication.CreateBuilder(args);
+
+builder.Configuration.AddJsonFile("ocelot.json", optional: false, reloadOnChange: true);
+
+builder.Services
+ .AddOcelot(builder.Configuration)
+ .AddCustomLoadBalancer((serviceProvider, _, discoveryProvider) =>
+ {
+ var configuration = serviceProvider.GetRequiredService();
+
+ return new WeightedRandomLoadBalancer(
+ configuration,
+ discoveryProvider!.GetAsync);
+ });
+
+builder.Configuration.AddOcelot();
+
+var app = builder.Build();
+await app.UseOcelot();
+await app.RunAsync();
diff --git a/CreditOrder.Gateway/Properties/launchSettings.json b/CreditOrder.Gateway/Properties/launchSettings.json
new file mode 100644
index 00000000..c07b0a5c
--- /dev/null
+++ b/CreditOrder.Gateway/Properties/launchSettings.json
@@ -0,0 +1,38 @@
+{
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:43281",
+ "sslPort": 44361
+ }
+ },
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5265",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7124;http://localhost:5265",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/CreditOrder.Gateway/appsettings.Development.json b/CreditOrder.Gateway/appsettings.Development.json
new file mode 100644
index 00000000..0c208ae9
--- /dev/null
+++ b/CreditOrder.Gateway/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/CreditOrder.Gateway/appsettings.json b/CreditOrder.Gateway/appsettings.json
new file mode 100644
index 00000000..85428df6
--- /dev/null
+++ b/CreditOrder.Gateway/appsettings.json
@@ -0,0 +1,29 @@
+{
+ "ReplicaWeights": [
+ {
+ "Host": "localhost",
+ "Port": 7241,
+ "Weight": 1
+ },
+ {
+ "Host": "localhost",
+ "Port": 7242,
+ "Weight": 2
+ },
+ {
+ "Host": "localhost",
+ "Port": 7243,
+ "Weight": 3
+ },
+ {
+ "Host": "localhost",
+ "Port": 7244,
+ "Weight": 4
+ },
+ {
+ "Host": "localhost",
+ "Port": 7245,
+ "Weight": 5
+ }
+ ]
+}
\ No newline at end of file
diff --git a/CreditOrder.Gateway/ocelot.json b/CreditOrder.Gateway/ocelot.json
new file mode 100644
index 00000000..04fb670b
--- /dev/null
+++ b/CreditOrder.Gateway/ocelot.json
@@ -0,0 +1,38 @@
+{
+ "Routes": [
+ {
+ "UpstreamPathTemplate": "/api/orders",
+ "UpstreamHttpMethod": [ "Get" ],
+ "DownstreamPathTemplate": "/credit-orders",
+ "DownstreamScheme": "https",
+ "DownstreamHostAndPorts": [
+ {
+ "Host": "localhost",
+ "Port": 7241
+ },
+ {
+ "Host": "localhost",
+ "Port": 7242
+ },
+ {
+ "Host": "localhost",
+ "Port": 7243
+ },
+ {
+ "Host": "localhost",
+ "Port": 7244
+ },
+ {
+ "Host": "localhost",
+ "Port": 7245
+ }
+ ],
+ "LoadBalancerOptions": {
+ "Type": "WeightedRandomLoadBalancer"
+ }
+ }
+ ],
+ "GlobalConfiguration": {
+ "BaseUrl": "https://localhost:7124"
+ }
+}
\ No newline at end of file
diff --git a/Generator/Controllers/CreditOrderController.cs b/Generator/Controllers/CreditOrderController.cs
new file mode 100644
index 00000000..cb483a94
--- /dev/null
+++ b/Generator/Controllers/CreditOrderController.cs
@@ -0,0 +1,37 @@
+using Service.Api.Dto;
+using Service.Api.Services;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Service.Api.Controllers;
+
+///
+/// HTTP API для получения кредитной заявки по идентификатору.
+/// Использует для получения данных (кэш + генерация).
+///
+[ApiController]
+[Route("credit-orders")]
+public class CreditOrderController (
+ CreditOrderService service,
+ ILogger logger
+ ) : ControllerBase
+{
+
+ ///
+ /// Возвращает кредитную заявку по из query string.
+ ///
+ /// Идентификатор заявки (должен быть больше 0).
+ /// Токен отмены запроса.
+ /// DTO кредитной заявки.
+ /// Заявка успешно получена.
+ /// Некорректный идентификатор (id <= 0).
+ [HttpGet]
+ public async Task> Get([FromQuery] int id, CancellationToken ct)
+ {
+ logger.LogInformation("HTTP GET /credit-orders requested: {OrderId}", id);
+ if (id <= 0)
+ return BadRequest("id must be greater than 0");
+ var order = await service.GetByIdAsync(id, ct);
+ logger.LogInformation("HTTP GET /credit-orders completed: {OrderId} {Status}", order.Id, order.OrderStatus);
+ return Ok(order);
+ }
+}
diff --git a/Generator/Dto/CreditOrderDto.cs b/Generator/Dto/CreditOrderDto.cs
new file mode 100644
index 00000000..50879f52
--- /dev/null
+++ b/Generator/Dto/CreditOrderDto.cs
@@ -0,0 +1,41 @@
+namespace Service.Api.Dto;
+
+///
+/// DTO кредитной заявки, возвращаемый HTTP API.
+///
+public class CreditOrderDto
+{
+ /// Идентификатор заявки.
+ public int Id { get; set; }
+
+ /// Тип кредита (например: Потребительский, Ипотека).
+ public string CreditType { get; set; } = "";
+
+ /// Запрошенная сумма кредита.
+ public decimal RequestedSum { get; set; }
+
+ /// Срок кредита в месяцах.
+ public int MonthsDuration { get; set; }
+
+ /// Процентная ставка (годовых).
+ public double InterestRate { get; set; }
+
+ /// Дата подачи заявки.
+ public DateOnly FilingDate { get; set; }
+
+ /// Признак необходимости страховки.
+ public bool IsInsuranceNeeded { get; set; }
+
+ /// Статус заявки: Новая / В обработке / Одобрена / Отклонена.
+ public string OrderStatus { get; set; } = "";
+
+ ///
+ /// Дата принятия решения. Заполняется только для конечных статусов (например, Одобрена/Отклонена).
+ ///
+ public DateOnly? DecisionDate { get; set; }
+
+ ///
+ /// Одобренная сумма. Заполняется только при статусе "Одобрена".
+ ///
+ public decimal? ApprovedSum { get; set; }
+}
diff --git a/Generator/Program.cs b/Generator/Program.cs
new file mode 100644
index 00000000..aa0b326a
--- /dev/null
+++ b/Generator/Program.cs
@@ -0,0 +1,62 @@
+using Amazon.SQS;
+using CloudDevelopment.ServiceDefaults;
+using LocalStack.Client.Extensions;
+using Service.Api.Services;
+
+var builder = WebApplication.CreateBuilder(args);
+
+builder.AddServiceDefaults();
+
+builder.Services.AddControllers();
+builder.Services.AddEndpointsApiExplorer();
+builder.Services.AddSwaggerGen();
+
+builder.Services.AddCors(options =>
+{
+ options.AddDefaultPolicy(policy =>
+ policy.SetIsOriginAllowed(origin =>
+ {
+ try
+ {
+ var uri = new Uri(origin);
+ return uri.Host == "localhost";
+ }
+ catch
+ {
+ return false;
+ }
+ })
+ .WithMethods("GET")
+ .AllowAnyHeader());
+});
+
+builder.Services.AddScoped();
+builder.Services.AddLocalStack(builder.Configuration);
+builder.Services.AddAwsService();
+
+builder.AddRedisDistributedCache(connectionName: "RedisCache");
+
+builder.Services.AddScoped();
+builder.Services.AddScoped();
+
+var app = builder.Build();
+
+app.UseCors();
+
+app.MapDefaultEndpoints();
+
+if (app.Environment.IsDevelopment())
+{
+ app.UseSwagger();
+ app.UseSwaggerUI();
+}
+
+app.UseHttpsRedirection();
+
+app.UseAuthorization();
+
+app.UseCors("wasm");
+
+app.MapControllers();
+
+app.Run();
diff --git a/Generator/Properties/launchSettings.json b/Generator/Properties/launchSettings.json
new file mode 100644
index 00000000..7d04f4fe
--- /dev/null
+++ b/Generator/Properties/launchSettings.json
@@ -0,0 +1,39 @@
+{
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:6127",
+ "sslPort": 44325
+ }
+ },
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/Generator/Service.Api.csproj b/Generator/Service.Api.csproj
new file mode 100644
index 00000000..c985b4ee
--- /dev/null
+++ b/Generator/Service.Api.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Generator/Service.Api.csproj.user b/Generator/Service.Api.csproj.user
new file mode 100644
index 00000000..9ff5820a
--- /dev/null
+++ b/Generator/Service.Api.csproj.user
@@ -0,0 +1,6 @@
+
+
+
+ https
+
+
\ No newline at end of file
diff --git a/Generator/Services/CreditOrderGenerator.cs b/Generator/Services/CreditOrderGenerator.cs
new file mode 100644
index 00000000..82d08c57
--- /dev/null
+++ b/Generator/Services/CreditOrderGenerator.cs
@@ -0,0 +1,49 @@
+using Bogus;
+using Service.Api.Dto;
+
+namespace Service.Api.Services;
+
+///
+/// Генератор псевдослучайных кредитных заявок для демо/тестирования.
+/// Включает простые зависимости между статусом и полями решения.
+///
+public class CreditOrderGenerator
+{
+ private static readonly string[] _сreditTypes = { "Потребительский", "Ипотека", "Автокредит", "Микрозайм" };
+ private static readonly string[] _statuses = { "Новая", "В обработке", "Одобрена", "Отклонена" };
+
+ ///
+ /// Генерирует кредитную заявку для заданного с реалистичными полями.
+ ///
+ /// Идентификатор заявки.
+ /// Сгенерированная заявка.
+ public CreditOrderDto Generate(int id)
+ {
+ var faker = new Faker("ru")
+ .RuleFor(x => x.Id, _ => id)
+ .RuleFor(x => x.CreditType, f => f.PickRandom(_сreditTypes))
+ .RuleFor(x => x.RequestedSum, f => Math.Round(f.Finance.Amount(1_000_000m, 100_000_000m), 2))
+ .RuleFor(x => x.MonthsDuration, f => f.Random.Int(1, 360))
+ .RuleFor(x => x.InterestRate, f => Math.Round(f.Random.Double(15.6, 20.0), 2))
+ .RuleFor(x => x.FilingDate, f => DateOnly.FromDateTime(f.Date.Past(2)))
+ .RuleFor(x => x.IsInsuranceNeeded, f => f.Random.Bool())
+ .RuleFor(x => x.OrderStatus, f => f.PickRandom(_statuses))
+ .RuleFor(x => x.DecisionDate, _ => null)
+ .RuleFor(x => x.ApprovedSum, _ => null)
+ .RuleFor(x => x.DecisionDate, (f, o) =>
+ o.OrderStatus is "Одобрена" or "Отклонена"
+ ? o.FilingDate.AddDays(f.Random.Int(0, 31))
+ : null)
+ .RuleFor(x => x.ApprovedSum, (f, o) =>
+ {
+ if (o.OrderStatus is not "Одобрена")
+ return null;
+
+ var k = f.Random.Double(0.6, 1.0);
+ var approved = o.RequestedSum * (decimal)k;
+ return Math.Round(approved, 2);
+ });
+
+ return faker.Generate();
+ }
+}
diff --git a/Generator/Services/CreditOrderService.cs b/Generator/Services/CreditOrderService.cs
new file mode 100644
index 00000000..d0818b8e
--- /dev/null
+++ b/Generator/Services/CreditOrderService.cs
@@ -0,0 +1,111 @@
+using Amazon.SQS;
+using Microsoft.Extensions.Caching.Distributed;
+using Service.Api.Dto;
+using System.Text.Json;
+
+namespace Service.Api.Services;
+
+///
+/// Сервис получения кредитной заявки по идентификатору.
+/// Сначала пытается вернуть данные из распределённого кэша, при отсутствии данных в кэше — генерирует заявку и кэширует результат.
+///
+public class CreditOrderService(
+ IDistributedCache cache,
+ CreditOrderGenerator generator,
+ IConfiguration cfg,
+ SqsProducerService sqsProducer,
+ ILogger logger
+ )
+{
+
+ private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web);
+
+ ///
+ /// Возвращает заявку по :
+ /// 1) читает из кэша по ключу credit-order:{id};
+ /// 2) при отсутствии данных в кэше генерирует через ;
+ /// 3) сохраняет в кэш с TTL (AbsoluteExpirationRelativeToNow).
+ /// 4) отправляет сообщение в очередь.
+ ///
+ /// Идентификатор заявки (должен быть больше 0).
+ /// Токен отмены.
+ /// DTO заявки.
+ /// Если <= 0.
+ /// Если запрос был отменён.
+ public async Task GetByIdAsync(int id, CancellationToken ct)
+ {
+ var ttlSeconds = cfg.GetValue("CreditOrderCache:TtlSeconds", 300);
+ if (ttlSeconds <= 0) ttlSeconds = 300;
+
+ var cacheKey = BuildCacheKey(id);
+
+ try
+ {
+ var cachedJson = await cache.GetStringAsync(cacheKey, ct);
+ if (!string.IsNullOrWhiteSpace(cachedJson))
+ {
+ var cached = JsonSerializer.Deserialize(cachedJson, _jsonOptions);
+ if (cached is not null)
+ {
+ logger.LogInformation("Cache HIT: {CacheKey} {OrderId}", cacheKey, id);
+ return cached;
+ }
+
+ logger.LogWarning("Cache DESERIALIZE FAIL: {CacheKey} {OrderId}", cacheKey, id);
+ }
+ else
+ {
+ logger.LogInformation("Cache MISS: {CacheKey} {OrderId}", cacheKey, id);
+ }
+ }
+ catch (OperationCanceledException)
+ {
+ logger.LogInformation("Request canceled: {CacheKey} {OrderId}", cacheKey, id);
+ throw;
+ }
+ catch (Exception ex)
+ {
+ logger.LogWarning(ex, "Cache READ FAIL: {CacheKey} {OrderId}", cacheKey, id);
+ }
+
+ var order = generator.Generate(id);
+
+ try
+ {
+ var cacheTtl = new DistributedCacheEntryOptions
+ {
+ AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(ttlSeconds)
+ };
+ var json = JsonSerializer.Serialize(order, _jsonOptions);
+ await cache.SetStringAsync(cacheKey, json, cacheTtl, ct);
+ logger.LogInformation("Cache SET: {CacheKey} {OrderId}", cacheKey, id);
+ }
+ catch (OperationCanceledException)
+ {
+ logger.LogInformation("Request canceled: {CacheKey} {OrderId}", cacheKey, id);
+ throw;
+ }
+ catch (Exception ex)
+ {
+ logger.LogWarning(ex, "Cache WRITE FAIL: {CacheKey} {OrderId}", cacheKey, id);
+ }
+ try
+ {
+ logger.LogInformation("Message publishing: {OrderId}", order.Id);
+ await sqsProducer.SendMessage(order);
+ logger.LogInformation("Message published: {OrderId}", order.Id);
+ }
+ catch (AmazonSQSException ex)
+ {
+ logger.LogError(ex, "SQS error while sending message {OrderId}", order.Id);
+ throw;
+ }
+ return order;
+ }
+
+ ///
+ /// Формирует ключ кэша для заявки по идентификатору.
+ /// Формат: credit-order:{id}.
+ ///
+ private static string BuildCacheKey(int id) => $"credit-order:{id}";
+}
diff --git a/Generator/Services/SqsProducerService.cs b/Generator/Services/SqsProducerService.cs
new file mode 100644
index 00000000..efe98867
--- /dev/null
+++ b/Generator/Services/SqsProducerService.cs
@@ -0,0 +1,40 @@
+using Amazon.SQS;
+using Service.Api.Dto;
+using System.Net;
+using System.Text.Json;
+
+namespace Service.Api.Services;
+
+///
+/// Служба для отправки сообщений в SQS
+///
+/// Клиент SQS
+/// Конфигурация
+/// Логгер
+public class SqsProducerService(IAmazonSQS client, IConfiguration configuration, ILogger logger)
+{
+ private readonly string _queueName = configuration["AWS:Resources:SQSQueueName"]
+ ?? throw new KeyNotFoundException("SQS queue link was not found in configuration");
+
+ ///
+ public async Task SendMessage(CreditOrderDto creditOrder)
+ {
+ try
+ {
+ var json = JsonSerializer.Serialize(creditOrder);
+
+ var queueUrlResponse = await client.GetQueueUrlAsync(_queueName);
+ var queueUrl = queueUrlResponse.QueueUrl;
+
+ var responce = await client.SendMessageAsync(queueUrl, json);
+ if (responce.HttpStatusCode == HttpStatusCode.OK)
+ logger.LogInformation("Land plot {id} was sent to sink via SQS", creditOrder.Id);
+ else
+ throw new Exception($"SQS returned {responce.HttpStatusCode}");
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Unable to send cridit order through SQS queue");
+ }
+ }
+}
diff --git a/Generator/appsettings.Development.json b/Generator/appsettings.Development.json
new file mode 100644
index 00000000..0c208ae9
--- /dev/null
+++ b/Generator/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/Generator/appsettings.json b/Generator/appsettings.json
new file mode 100644
index 00000000..5490bdb0
--- /dev/null
+++ b/Generator/appsettings.json
@@ -0,0 +1,13 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "CreditOrderCache": {
+ "Enabled": true,
+ "TtlSeconds": 60
+ },
+ "AllowedHosts": "*"
+}
diff --git a/Generator/bin/Debug/net8.0/AWSSDK.Core.dll b/Generator/bin/Debug/net8.0/AWSSDK.Core.dll
new file mode 100644
index 00000000..9bc9e3fd
Binary files /dev/null and b/Generator/bin/Debug/net8.0/AWSSDK.Core.dll differ
diff --git a/Generator/bin/Debug/net8.0/AWSSDK.Extensions.NETCore.Setup.dll b/Generator/bin/Debug/net8.0/AWSSDK.Extensions.NETCore.Setup.dll
new file mode 100644
index 00000000..6a94bdad
Binary files /dev/null and b/Generator/bin/Debug/net8.0/AWSSDK.Extensions.NETCore.Setup.dll differ
diff --git a/Generator/bin/Debug/net8.0/AWSSDK.SQS.dll b/Generator/bin/Debug/net8.0/AWSSDK.SQS.dll
new file mode 100644
index 00000000..9b6ca43d
Binary files /dev/null and b/Generator/bin/Debug/net8.0/AWSSDK.SQS.dll differ
diff --git a/Generator/bin/Debug/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll b/Generator/bin/Debug/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll
new file mode 100644
index 00000000..17ec1125
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll differ
diff --git a/Generator/bin/Debug/net8.0/Aspire.StackExchange.Redis.dll b/Generator/bin/Debug/net8.0/Aspire.StackExchange.Redis.dll
new file mode 100644
index 00000000..9fbab519
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Aspire.StackExchange.Redis.dll differ
diff --git a/Generator/bin/Debug/net8.0/Bogus.dll b/Generator/bin/Debug/net8.0/Bogus.dll
new file mode 100644
index 00000000..98569ab4
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Bogus.dll differ
diff --git a/Generator/bin/Debug/net8.0/CloudDevelopment.Contracts.dll b/Generator/bin/Debug/net8.0/CloudDevelopment.Contracts.dll
new file mode 100644
index 00000000..6837f936
Binary files /dev/null and b/Generator/bin/Debug/net8.0/CloudDevelopment.Contracts.dll differ
diff --git a/Generator/bin/Debug/net8.0/CloudDevelopment.Contracts.pdb b/Generator/bin/Debug/net8.0/CloudDevelopment.Contracts.pdb
new file mode 100644
index 00000000..b6b2b438
Binary files /dev/null and b/Generator/bin/Debug/net8.0/CloudDevelopment.Contracts.pdb differ
diff --git a/Generator/bin/Debug/net8.0/CloudDevelopment.ServiceDefaults.dll b/Generator/bin/Debug/net8.0/CloudDevelopment.ServiceDefaults.dll
new file mode 100644
index 00000000..bdf9cec0
Binary files /dev/null and b/Generator/bin/Debug/net8.0/CloudDevelopment.ServiceDefaults.dll differ
diff --git a/Generator/bin/Debug/net8.0/CloudDevelopment.ServiceDefaults.pdb b/Generator/bin/Debug/net8.0/CloudDevelopment.ServiceDefaults.pdb
new file mode 100644
index 00000000..304a0dd6
Binary files /dev/null and b/Generator/bin/Debug/net8.0/CloudDevelopment.ServiceDefaults.pdb differ
diff --git a/Generator/bin/Debug/net8.0/Generator.deps.json b/Generator/bin/Debug/net8.0/Generator.deps.json
new file mode 100644
index 00000000..c40cf57e
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/Generator.deps.json
@@ -0,0 +1,1236 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "Generator/1.0.0": {
+ "dependencies": {
+ "AWSSDK.SQS": "4.0.2.25",
+ "Aspire.StackExchange.Redis.DistributedCaching": "9.5.2",
+ "Bogus": "35.6.5",
+ "CloudDevelopment.Contracts": "1.0.0",
+ "CloudDevelopment.ServiceDefaults": "1.0.0",
+ "Swashbuckle.AspNetCore": "6.6.2"
+ },
+ "runtime": {
+ "Generator.dll": {}
+ }
+ },
+ "Aspire.StackExchange.Redis/9.5.2": {
+ "dependencies": {
+ "AspNetCore.HealthChecks.Redis": "9.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/Aspire.StackExchange.Redis.dll": {
+ "assemblyVersion": "9.5.2.0",
+ "fileVersion": "9.500.225.52203"
+ }
+ }
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching/9.5.2": {
+ "dependencies": {
+ "AspNetCore.HealthChecks.Redis": "9.0.0",
+ "Aspire.StackExchange.Redis": "9.5.2",
+ "Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.20",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll": {
+ "assemblyVersion": "9.5.2.0",
+ "fileVersion": "9.500.225.52203"
+ }
+ }
+ },
+ "AspNetCore.HealthChecks.Redis/9.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/HealthChecks.Redis.dll": {
+ "assemblyVersion": "9.0.0.0",
+ "fileVersion": "9.0.0.0"
+ }
+ }
+ },
+ "AWSSDK.Core/4.0.3.29": {
+ "runtime": {
+ "lib/net8.0/AWSSDK.Core.dll": {
+ "assemblyVersion": "4.0.0.0",
+ "fileVersion": "4.0.3.29"
+ }
+ }
+ },
+ "AWSSDK.SQS/4.0.2.25": {
+ "dependencies": {
+ "AWSSDK.Core": "4.0.3.29"
+ },
+ "runtime": {
+ "lib/net8.0/AWSSDK.SQS.dll": {
+ "assemblyVersion": "4.0.0.0",
+ "fileVersion": "4.0.2.25"
+ }
+ }
+ },
+ "Bogus/35.6.5": {
+ "runtime": {
+ "lib/net6.0/Bogus.dll": {
+ "assemblyVersion": "35.6.5.0",
+ "fileVersion": "35.6.5.0"
+ }
+ }
+ },
+ "Google.Protobuf/3.22.5": {
+ "runtime": {
+ "lib/net5.0/Google.Protobuf.dll": {
+ "assemblyVersion": "3.22.5.0",
+ "fileVersion": "3.22.5.0"
+ }
+ }
+ },
+ "Grpc.Core.Api/2.52.0": {
+ "dependencies": {
+ "System.Memory": "4.5.3"
+ },
+ "runtime": {
+ "lib/netstandard2.1/Grpc.Core.Api.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.52.0.0"
+ }
+ }
+ },
+ "Grpc.Net.Client/2.52.0": {
+ "dependencies": {
+ "Grpc.Net.Common": "2.52.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3"
+ },
+ "runtime": {
+ "lib/net7.0/Grpc.Net.Client.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.52.0.0"
+ }
+ }
+ },
+ "Grpc.Net.Common/2.52.0": {
+ "dependencies": {
+ "Grpc.Core.Api": "2.52.0"
+ },
+ "runtime": {
+ "lib/net7.0/Grpc.Net.Common.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.52.0.0"
+ }
+ }
+ },
+ "Microsoft.Extensions.AmbientMetadata.Application/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis/8.0.20": {
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll": {
+ "assemblyVersion": "8.0.20.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Compliance.Abstractions/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.ObjectPool": "8.0.20"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Configuration/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder/8.0.2": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.724.31311"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.AutoActivation/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.20": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.20": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Features/8.0.20": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Features.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Http/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Diagnostics": "8.0.1",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Http.Diagnostics/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Http": "8.0.1",
+ "Microsoft.Extensions.Telemetry": "9.9.0",
+ "System.IO.Pipelines": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.Diagnostics.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Http.Resilience/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Http.Diagnostics": "9.9.0",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Resilience": "9.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.Resilience.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.3": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1325.6609"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.ObjectPool/8.0.20": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ObjectPool.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.224.6711"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {},
+ "Microsoft.Extensions.Resilience/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics": "8.0.1",
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "9.9.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
+ "Microsoft.Extensions.Telemetry.Abstractions": "9.9.0",
+ "Polly.Extensions": "8.4.2",
+ "Polly.RateLimiting": "8.4.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Resilience.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.ServiceDiscovery/9.5.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Features": "8.0.20",
+ "Microsoft.Extensions.Http": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions": "9.5.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.dll": {
+ "assemblyVersion": "9.5.0.0",
+ "fileVersion": "9.500.25.47407"
+ }
+ }
+ },
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions/9.5.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Features": "8.0.20",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll": {
+ "assemblyVersion": "9.5.0.0",
+ "fileVersion": "9.500.25.47407"
+ }
+ }
+ },
+ "Microsoft.Extensions.Telemetry/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.AmbientMetadata.Application": "9.9.0",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Logging.Configuration": "8.0.1",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Telemetry.Abstractions": "9.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Telemetry.Abstractions/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Compliance.Abstractions": "9.9.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.OpenApi/1.6.14": {
+ "runtime": {
+ "lib/netstandard2.0/Microsoft.OpenApi.dll": {
+ "assemblyVersion": "1.6.14.0",
+ "fileVersion": "1.6.14.0"
+ }
+ }
+ },
+ "OpenTelemetry/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Configuration": "8.0.1",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Api/1.9.0": {
+ "dependencies": {
+ "System.Diagnostics.DiagnosticSource": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Api.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "OpenTelemetry.Api": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.9.0": {
+ "dependencies": {
+ "Google.Protobuf": "3.22.5",
+ "Grpc.Net.Client": "2.52.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "OpenTelemetry": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "OpenTelemetry": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Extensions.Hosting.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore/1.9.0": {
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll": {
+ "assemblyVersion": "1.9.0.42",
+ "fileVersion": "1.9.0.42"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": {
+ "assemblyVersion": "1.9.0.41",
+ "fileVersion": "1.9.0.41"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime/1.9.0": {
+ "dependencies": {
+ "OpenTelemetry.Api": "1.9.0"
+ },
+ "runtime": {
+ "lib/net6.0/OpenTelemetry.Instrumentation.Runtime.dll": {
+ "assemblyVersion": "1.9.0.57",
+ "fileVersion": "1.9.0.57"
+ }
+ }
+ },
+ "Pipelines.Sockets.Unofficial/2.2.8": {
+ "dependencies": {
+ "System.IO.Pipelines": "8.0.0"
+ },
+ "runtime": {
+ "lib/net5.0/Pipelines.Sockets.Unofficial.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "2.2.8.1080"
+ }
+ }
+ },
+ "Polly.Core/8.4.2": {
+ "runtime": {
+ "lib/net8.0/Polly.Core.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.4.2.3950"
+ }
+ }
+ },
+ "Polly.Extensions/8.4.2": {
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Polly.Core": "8.4.2"
+ },
+ "runtime": {
+ "lib/net8.0/Polly.Extensions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.4.2.3950"
+ }
+ }
+ },
+ "Polly.RateLimiting/8.4.2": {
+ "dependencies": {
+ "Polly.Core": "8.4.2",
+ "System.Threading.RateLimiting": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Polly.RateLimiting.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.4.2.3950"
+ }
+ }
+ },
+ "StackExchange.Redis/2.9.11": {
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Pipelines.Sockets.Unofficial": "2.2.8"
+ },
+ "runtime": {
+ "lib/net8.0/StackExchange.Redis.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.9.11.19757"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore/6.6.2": {
+ "dependencies": {
+ "Microsoft.Extensions.ApiDescription.Server": "6.0.5",
+ "Swashbuckle.AspNetCore.Swagger": "6.6.2",
+ "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2",
+ "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2"
+ }
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.6.2": {
+ "dependencies": {
+ "Microsoft.OpenApi": "1.6.14"
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": {
+ "assemblyVersion": "6.6.2.0",
+ "fileVersion": "6.6.2.401"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": {
+ "dependencies": {
+ "Swashbuckle.AspNetCore.Swagger": "6.6.2"
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
+ "assemblyVersion": "6.6.2.0",
+ "fileVersion": "6.6.2.401"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": {
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
+ "assemblyVersion": "6.6.2.0",
+ "fileVersion": "6.6.2.401"
+ }
+ }
+ },
+ "System.Diagnostics.DiagnosticSource/8.0.0": {},
+ "System.IO.Pipelines/8.0.0": {},
+ "System.Memory/4.5.3": {},
+ "System.Threading.RateLimiting/8.0.0": {},
+ "CloudDevelopment.Contracts/1.0.0": {
+ "runtime": {
+ "CloudDevelopment.Contracts.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
+ "CloudDevelopment.ServiceDefaults/1.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Http.Resilience": "9.9.0",
+ "Microsoft.Extensions.ServiceDiscovery": "9.5.0",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.9.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "OpenTelemetry.Instrumentation.AspNetCore": "1.9.0",
+ "OpenTelemetry.Instrumentation.Http": "1.9.0",
+ "OpenTelemetry.Instrumentation.Runtime": "1.9.0"
+ },
+ "runtime": {
+ "CloudDevelopment.ServiceDefaults.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Generator/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Aspire.StackExchange.Redis/9.5.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Zvq1mBsyQGqdTMoJdRZVK/MokrO5VJsk686JLIVtYjHOfErgAAVOJdxqwYIff0b6L3l9Euh7SHcbLTEApGGWkw==",
+ "path": "aspire.stackexchange.redis/9.5.2",
+ "hashPath": "aspire.stackexchange.redis.9.5.2.nupkg.sha512"
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching/9.5.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-C4fWMCbmRFoR1mrvJGovXJm8k/cKN5tP1seQj7ZQrj7Cg0BbX0Un1VuSE/zTwD9hEqEUm6DMI4xbUSrbS3RkVA==",
+ "path": "aspire.stackexchange.redis.distributedcaching/9.5.2",
+ "hashPath": "aspire.stackexchange.redis.distributedcaching.9.5.2.nupkg.sha512"
+ },
+ "AspNetCore.HealthChecks.Redis/9.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-yNH0h8GLRbAf+PU5HNVLZ5hNeyq9mDVmRKO9xuZsme/znUYoBJlQvI0gq45gaZNlLncCHkMhR4o90MuT+gxxPw==",
+ "path": "aspnetcore.healthchecks.redis/9.0.0",
+ "hashPath": "aspnetcore.healthchecks.redis.9.0.0.nupkg.sha512"
+ },
+ "AWSSDK.Core/4.0.3.29": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-y07n9BHBVRDe3fDAjitnOBPwDwJ5NZ4oOh6ZvOizYWEsJnYcs34FQtTJ70Gt17qTCH86ma5kJdyMZ2lixm/dqg==",
+ "path": "awssdk.core/4.0.3.29",
+ "hashPath": "awssdk.core.4.0.3.29.nupkg.sha512"
+ },
+ "AWSSDK.SQS/4.0.2.25": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-oYYPNmsFZg+rTKAyX/I1gYn3NTHXsWH1+Tp1H8YN0HalMPwZIDbkm8FTGESJgHjmfq3rdEkXBln96J97JFdB7g==",
+ "path": "awssdk.sqs/4.0.2.25",
+ "hashPath": "awssdk.sqs.4.0.2.25.nupkg.sha512"
+ },
+ "Bogus/35.6.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-2FGZn+aAVHjmCgClgmGkTDBVZk0zkLvAKGaxEf5JL6b3i9JbHTE4wnuY4vHCuzlCmJdU6VZjgDfHwmYkQF8VAA==",
+ "path": "bogus/35.6.5",
+ "hashPath": "bogus.35.6.5.nupkg.sha512"
+ },
+ "Google.Protobuf/3.22.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==",
+ "path": "google.protobuf/3.22.5",
+ "hashPath": "google.protobuf.3.22.5.nupkg.sha512"
+ },
+ "Grpc.Core.Api/2.52.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==",
+ "path": "grpc.core.api/2.52.0",
+ "hashPath": "grpc.core.api.2.52.0.nupkg.sha512"
+ },
+ "Grpc.Net.Client/2.52.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==",
+ "path": "grpc.net.client/2.52.0",
+ "hashPath": "grpc.net.client.2.52.0.nupkg.sha512"
+ },
+ "Grpc.Net.Common/2.52.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==",
+ "path": "grpc.net.common/2.52.0",
+ "hashPath": "grpc.net.common.2.52.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.AmbientMetadata.Application/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-sCc7X0rXDdWIXdRq/s8Yd3YoMz2r0wNyRGQ5HdYu1TfvpGryH/3lH1pizS1WsL8gYrAD3nT0GIbsyz6c5dM/wQ==",
+ "path": "microsoft.extensions.ambientmetadata.application/9.9.0",
+ "hashPath": "microsoft.extensions.ambientmetadata.application.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
+ "path": "microsoft.extensions.apidescription.server/6.0.5",
+ "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
+ "path": "microsoft.extensions.caching.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-X6pBeU2ARaOqxxqqq9I5HmhtciULikdzr74uLM+Ri95epbk6yh3JQcjvC/7d40mzKrg4G2EjbKqbmSoZhCZJFg==",
+ "path": "microsoft.extensions.caching.stackexchangeredis/8.0.20",
+ "hashPath": "microsoft.extensions.caching.stackexchangeredis.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Compliance.Abstractions/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-9/bU4vuy7xu81BeiHazP0kmtOb3vAKSGdN+9s84/HfwVDvxAZOfPxDK7uPl6jEfiFdZvpHNF/YxWQqaISvYEUQ==",
+ "path": "microsoft.extensions.compliance.abstractions/9.9.0",
+ "hashPath": "microsoft.extensions.compliance.abstractions.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
+ "path": "microsoft.extensions.configuration/8.0.0",
+ "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
+ "path": "microsoft.extensions.configuration.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration.Binder/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-7IQhGK+wjyGrNsPBjJcZwWAr+Wf6D4+TwOptUt77bWtgNkiV8tDEbhFS+dDamtQFZ2X7kWG9m71iZQRj2x3zgQ==",
+ "path": "microsoft.extensions.configuration.binder/8.0.2",
+ "hashPath": "microsoft.extensions.configuration.binder.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==",
+ "path": "microsoft.extensions.dependencyinjection/8.0.1",
+ "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2",
+ "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection.AutoActivation/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-DrDJ7+dWB0LeR6b83wj9WNhr45O67Q+wTxFaVE9BHpAFGc66Xz/K3A5wp5fA/060vLGGDgkftBpbS307BizSFw==",
+ "path": "microsoft.extensions.dependencyinjection.autoactivation/9.9.0",
+ "hashPath": "microsoft.extensions.dependencyinjection.autoactivation.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-doVPCUUCY7c6LhBsEfiy3W1bvS7Mi6LkfQMS8nlC22jZWNxBv8VO8bdfeyvpYFst6Kxqk7HBC6lytmEoBssvSQ==",
+ "path": "microsoft.extensions.diagnostics/8.0.1",
+ "hashPath": "microsoft.extensions.diagnostics.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-elH2vmwNmsXuKmUeMQ4YW9ldXiF+gSGDgg1vORksob5POnpaI6caj1Hu8zaYbEuibhqCoWg0YRWDazBY3zjBfg==",
+ "path": "microsoft.extensions.diagnostics.abstractions/8.0.1",
+ "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-LVb1ziRqI8x8TNCJW+zRGx1xPTPFWbhJzEk8k+rFx03M8zrQt5T+3MMV/fWTeHc3/7uoJDRDRklRMUlAqQw99w==",
+ "path": "microsoft.extensions.diagnostics.exceptionsummarization/9.9.0",
+ "hashPath": "microsoft.extensions.diagnostics.exceptionsummarization.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-UAgqpgfLaFQewIQrMW8hpe/cVdVDRhdoQmI2kWP1tw1iesCZ+qhvYTV4upNRKCI+TQkctlxPlSFVbfk4XKykDw==",
+ "path": "microsoft.extensions.diagnostics.healthchecks/8.0.20",
+ "hashPath": "microsoft.extensions.diagnostics.healthchecks.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ez084scWlXgAl8ccTFw7BSi/KbZ6qvuWXy1K7Dnu0akFhocHct7M/zPIGt64pJXk5GxaMCCtRwuAaI1xfiJcAA==",
+ "path": "microsoft.extensions.diagnostics.healthchecks.abstractions/8.0.20",
+ "hashPath": "microsoft.extensions.diagnostics.healthchecks.abstractions.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Features/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3YCswjRwDom5KEyCfdPfyfKxKOVXairlyjNLJ48BG1YIs6GP2RNbK36rZY7myOkW64kjAaZTXMY7ruscqasDew==",
+ "path": "microsoft.extensions.features/8.0.20",
+ "hashPath": "microsoft.extensions.features.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
+ "path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Hosting.Abstractions/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-nHwq9aPBdBPYXPti6wYEEfgXddfBrYC+CQLn+qISiwQq5tpfaqDZSKOJNxoe9rfQxGf1c+2wC/qWFe1QYJPYqw==",
+ "path": "microsoft.extensions.hosting.abstractions/8.0.1",
+ "hashPath": "microsoft.extensions.hosting.abstractions.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Http/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kDYeKJUzh0qeg/AI+nSr3ffthmXYQTEb0nS9qRC7YhSbbuN4M4NPbaB77AJwtkTnCV9XZ7qYj3dkZaNcyl73EA==",
+ "path": "microsoft.extensions.http/8.0.1",
+ "hashPath": "microsoft.extensions.http.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Http.Diagnostics/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-bdO0rzxXHsmp0+k1chjBKwxhdxkHetBfVe2LhFkoxSirErvvTmnD/ZeHqdNOeMEouJmaoGJFep70NFRK8/NDlA==",
+ "path": "microsoft.extensions.http.diagnostics/9.9.0",
+ "hashPath": "microsoft.extensions.http.diagnostics.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Http.Resilience/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dZ5Y34CsrPNBn4GMLq/PJeIV903R98K3Z3a2sECEeJv3kW4HlgwDZoZWsbG4ymBdGdQJoXS+Qp8sdLm3ptFdDg==",
+ "path": "microsoft.extensions.http.resilience/9.9.0",
+ "hashPath": "microsoft.extensions.http.resilience.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==",
+ "path": "microsoft.extensions.logging/8.0.1",
+ "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
+ "path": "microsoft.extensions.logging.abstractions/8.0.3",
+ "hashPath": "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging.Configuration/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-QWwTrsgOnJMmn+XUslm8D2H1n3PkP/u/v52FODtyBc/k4W9r3i2vcXXeeX/upnzllJYRRbrzVzT0OclfNJtBJA==",
+ "path": "microsoft.extensions.logging.configuration/8.0.1",
+ "hashPath": "microsoft.extensions.logging.configuration.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ObjectPool/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+mTW7r2MxHN7DazXUdmne/aiUcxs7fQP3CvfLF/O00hqtBS7nAU+jVRRaVFkXFbY23y3bbfCgke425Zknxlywg==",
+ "path": "microsoft.extensions.objectpool/8.0.20",
+ "hashPath": "microsoft.extensions.objectpool.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+ "path": "microsoft.extensions.options/8.0.2",
+ "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==",
+ "path": "microsoft.extensions.options.configurationextensions/8.0.0",
+ "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+ "path": "microsoft.extensions.primitives/8.0.0",
+ "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Resilience/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-MZNGlO++Z64MsIzb2d875uFx0fivsJb+gMjSacVQTpINJm0sxzOK2CfjnH4gDbndAZ9pCU2rZtsxqMa45YkM6A==",
+ "path": "microsoft.extensions.resilience/9.9.0",
+ "hashPath": "microsoft.extensions.resilience.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ServiceDiscovery/9.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Fj/yZriF1f9XV0xy30cCM6OXfGMwx40Irhf+zM6cREf6W1OvFjnzDKnGS/kSKPqr579PdFkXd5s8uDRIXr8N4g==",
+ "path": "microsoft.extensions.servicediscovery/9.5.0",
+ "hashPath": "microsoft.extensions.servicediscovery.9.5.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions/9.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-uPSUz9kPHe0vm0YQFIKJebxhTH5FrG51qGvquRntE87Z3tDKEGjQMWsxKog/RqhB0YO8OYn0F7jRxnTJlj3KvQ==",
+ "path": "microsoft.extensions.servicediscovery.abstractions/9.5.0",
+ "hashPath": "microsoft.extensions.servicediscovery.abstractions.9.5.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Telemetry/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-gwTzxU0+W0Beqp0jivDajsjVtLZTxM5werm4kggyTqmP5dlfapo/0DoK0yG3/gNyiFWCcJmEGhmqrSL9gNFtGw==",
+ "path": "microsoft.extensions.telemetry/9.9.0",
+ "hashPath": "microsoft.extensions.telemetry.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Telemetry.Abstractions/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-EmnlvikFKeWRJLvdoysRWOnYggD+aQpwpXjfDAZLpbuiPYsNhXzMRs6b+/R0QiQ5gV8r6JAGZyexMum8ZUDtWA==",
+ "path": "microsoft.extensions.telemetry.abstractions/9.9.0",
+ "hashPath": "microsoft.extensions.telemetry.abstractions.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.OpenApi/1.6.14": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==",
+ "path": "microsoft.openapi/1.6.14",
+ "hashPath": "microsoft.openapi.1.6.14.nupkg.sha512"
+ },
+ "OpenTelemetry/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-7scS6BUhwYeSXEDGhCxMSezmvyCoDU5kFQbmfyW9iVvVTcWhec+1KIN33/LOCdBXRkzt2y7+g03mkdAB0XZ9Fw==",
+ "path": "opentelemetry/1.9.0",
+ "hashPath": "opentelemetry.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Api/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Xz8ZvM1Lm0m7BbtGBnw2JlPo++YKyMp08zMK5p0mf+cIi5jeMt2+QsYu9X6YEAbjCxBQYwEak5Z8sY6Ig2WcwQ==",
+ "path": "opentelemetry.api/1.9.0",
+ "hashPath": "opentelemetry.api.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-L0D4LBR5JFmwLun5MCWVGapsJLV0ANZ+XXu9NEI3JE/HRKkRuUO+J2MuHD5DBwiU//QMYYM4B22oev1hVLoHDQ==",
+ "path": "opentelemetry.api.providerbuilderextensions/1.9.0",
+ "hashPath": "opentelemetry.api.providerbuilderextensions.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-qzFOP3V2eYIVbug3U4BJzzidHe9JhAJ42WZ/H8pUp/45Ry3MQQg/+e/ZieClJcxKnpbkXi7dUq1rpvuNp+yBYA==",
+ "path": "opentelemetry.exporter.opentelemetryprotocol/1.9.0",
+ "hashPath": "opentelemetry.exporter.opentelemetryprotocol.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Extensions.Hosting/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-QBQPrKDVCXxTBE+r8tgjmFNKKHi4sKyczmip2XGUcjy8kk3quUNhttnjiMqC4sU50Hemmn4i5752Co26pnKe3A==",
+ "path": "opentelemetry.extensions.hosting/1.9.0",
+ "hashPath": "opentelemetry.extensions.hosting.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-x4HuWBw1rbWZUh5j8/GpXz3xa7JnrTuKne+ACmBqvcoO/rNGkG7HayRruwoQ7gf52xpMtRGr4gxlhLW8eU0EiQ==",
+ "path": "opentelemetry.instrumentation.aspnetcore/1.9.0",
+ "hashPath": "opentelemetry.instrumentation.aspnetcore.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Instrumentation.Http/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+ZXppf8Qxz3OdC803T8fB6i8iSscc8PsxMnM/JizSOYmkz+8vGiScEiaBBBFNZtMh2KpA0q+qxwnSwQUkbvzog==",
+ "path": "opentelemetry.instrumentation.http/1.9.0",
+ "hashPath": "opentelemetry.instrumentation.http.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Instrumentation.Runtime/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-6raJb9Pvi1CaBB59SX86Mr9NQiQbiv9ialO+cQKFRGCq3Bl2WC8cTTcbfGtaRX0quqWnZC/dK7xrXuOuYcwANA==",
+ "path": "opentelemetry.instrumentation.runtime/1.9.0",
+ "hashPath": "opentelemetry.instrumentation.runtime.1.9.0.nupkg.sha512"
+ },
+ "Pipelines.Sockets.Unofficial/2.2.8": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==",
+ "path": "pipelines.sockets.unofficial/2.2.8",
+ "hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512"
+ },
+ "Polly.Core/8.4.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BpE2I6HBYYA5tF0Vn4eoQOGYTYIK1BlF5EXVgkWGn3mqUUjbXAr13J6fZVbp7Q3epRR8yshacBMlsHMhpOiV3g==",
+ "path": "polly.core/8.4.2",
+ "hashPath": "polly.core.8.4.2.nupkg.sha512"
+ },
+ "Polly.Extensions/8.4.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-GZ9vRVmR0jV2JtZavt+pGUsQ1O1cuRKG7R7VOZI6ZDy9y6RNPvRvXK1tuS4ffUrv8L0FTea59oEuQzgS0R7zSA==",
+ "path": "polly.extensions/8.4.2",
+ "hashPath": "polly.extensions.8.4.2.nupkg.sha512"
+ },
+ "Polly.RateLimiting/8.4.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ehTImQ/eUyO07VYW2WvwSmU9rRH200SKJ/3jku9rOkyWE0A2JxNFmAVms8dSn49QLSjmjFRRSgfNyOgr/2PSmA==",
+ "path": "polly.ratelimiting/8.4.2",
+ "hashPath": "polly.ratelimiting.8.4.2.nupkg.sha512"
+ },
+ "StackExchange.Redis/2.9.11": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3J0qv0qFhMeCe2ZApnbbC6ZgNs/iTdmqvFyN/tIw5A0CTlABF1BJh86D3Cf03V9FoftvqeKeAnOkJAHTHpm1xA==",
+ "path": "stackexchange.redis/2.9.11",
+ "hashPath": "stackexchange.redis.2.9.11.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==",
+ "path": "swashbuckle.aspnetcore/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.6.6.2.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==",
+ "path": "swashbuckle.aspnetcore.swagger/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==",
+ "path": "swashbuckle.aspnetcore.swaggergen/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==",
+ "path": "swashbuckle.aspnetcore.swaggerui/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512"
+ },
+ "System.Diagnostics.DiagnosticSource/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==",
+ "path": "system.diagnostics.diagnosticsource/8.0.0",
+ "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512"
+ },
+ "System.IO.Pipelines/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA==",
+ "path": "system.io.pipelines/8.0.0",
+ "hashPath": "system.io.pipelines.8.0.0.nupkg.sha512"
+ },
+ "System.Memory/4.5.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
+ "path": "system.memory/4.5.3",
+ "hashPath": "system.memory.4.5.3.nupkg.sha512"
+ },
+ "System.Threading.RateLimiting/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==",
+ "path": "system.threading.ratelimiting/8.0.0",
+ "hashPath": "system.threading.ratelimiting.8.0.0.nupkg.sha512"
+ },
+ "CloudDevelopment.Contracts/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "CloudDevelopment.ServiceDefaults/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/bin/Debug/net8.0/Generator.dll b/Generator/bin/Debug/net8.0/Generator.dll
new file mode 100644
index 00000000..c5fe8cfe
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Generator.dll differ
diff --git a/Generator/bin/Debug/net8.0/Generator.exe b/Generator/bin/Debug/net8.0/Generator.exe
new file mode 100644
index 00000000..24cb3a36
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Generator.exe differ
diff --git a/Generator/bin/Debug/net8.0/Generator.pdb b/Generator/bin/Debug/net8.0/Generator.pdb
new file mode 100644
index 00000000..d044a359
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Generator.pdb differ
diff --git a/Generator/bin/Debug/net8.0/Generator.runtimeconfig.json b/Generator/bin/Debug/net8.0/Generator.runtimeconfig.json
new file mode 100644
index 00000000..5e604c7e
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/Generator.runtimeconfig.json
@@ -0,0 +1,19 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "frameworks": [
+ {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ {
+ "name": "Microsoft.AspNetCore.App",
+ "version": "8.0.0"
+ }
+ ],
+ "configProperties": {
+ "System.GC.Server": true,
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/bin/Debug/net8.0/Generator.staticwebassets.endpoints.json b/Generator/bin/Debug/net8.0/Generator.staticwebassets.endpoints.json
new file mode 100644
index 00000000..5576e889
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/Generator.staticwebassets.endpoints.json
@@ -0,0 +1 @@
+{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/Generator/bin/Debug/net8.0/Google.Protobuf.dll b/Generator/bin/Debug/net8.0/Google.Protobuf.dll
new file mode 100644
index 00000000..ac9de957
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Google.Protobuf.dll differ
diff --git a/Generator/bin/Debug/net8.0/Grpc.Core.Api.dll b/Generator/bin/Debug/net8.0/Grpc.Core.Api.dll
new file mode 100644
index 00000000..38e3088a
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Grpc.Core.Api.dll differ
diff --git a/Generator/bin/Debug/net8.0/Grpc.Net.Client.dll b/Generator/bin/Debug/net8.0/Grpc.Net.Client.dll
new file mode 100644
index 00000000..0b03a7c0
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Grpc.Net.Client.dll differ
diff --git a/Generator/bin/Debug/net8.0/Grpc.Net.Common.dll b/Generator/bin/Debug/net8.0/Grpc.Net.Common.dll
new file mode 100644
index 00000000..fabe1d04
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Grpc.Net.Common.dll differ
diff --git a/Generator/bin/Debug/net8.0/HealthChecks.Redis.dll b/Generator/bin/Debug/net8.0/HealthChecks.Redis.dll
new file mode 100644
index 00000000..c8fcd786
Binary files /dev/null and b/Generator/bin/Debug/net8.0/HealthChecks.Redis.dll differ
diff --git a/Generator/bin/Debug/net8.0/LocalStack.Client.Extensions.dll b/Generator/bin/Debug/net8.0/LocalStack.Client.Extensions.dll
new file mode 100644
index 00000000..2972aaa4
Binary files /dev/null and b/Generator/bin/Debug/net8.0/LocalStack.Client.Extensions.dll differ
diff --git a/Generator/bin/Debug/net8.0/LocalStack.Client.dll b/Generator/bin/Debug/net8.0/LocalStack.Client.dll
new file mode 100644
index 00000000..74fa00b9
Binary files /dev/null and b/Generator/bin/Debug/net8.0/LocalStack.Client.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll
new file mode 100644
index 00000000..49cdfdf7
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll
new file mode 100644
index 00000000..066f1c39
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll
new file mode 100644
index 00000000..4ce4c053
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Binder.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Binder.dll
new file mode 100644
index 00000000..557d6d9e
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Configuration.Binder.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll
new file mode 100644
index 00000000..81ed3de6
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll
new file mode 100644
index 00000000..b24932f0
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll
new file mode 100644
index 00000000..bd71a2bc
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.DependencyInjection.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll
new file mode 100644
index 00000000..91cd9425
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll
new file mode 100644
index 00000000..303364bf
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll
new file mode 100644
index 00000000..80c9c9d9
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll
new file mode 100644
index 00000000..c19b1c8f
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.dll
new file mode 100644
index 00000000..a425b2b2
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Diagnostics.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Features.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Features.dll
new file mode 100644
index 00000000..0a2c76b2
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Features.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll
new file mode 100644
index 00000000..3c44f769
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.Diagnostics.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.Diagnostics.dll
new file mode 100644
index 00000000..dc0860ca
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.Diagnostics.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.Resilience.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.Resilience.dll
new file mode 100644
index 00000000..16c2756b
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.Resilience.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.dll
new file mode 100644
index 00000000..8cf17c33
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Http.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll
new file mode 100644
index 00000000..cedb2b82
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.Configuration.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.Configuration.dll
new file mode 100644
index 00000000..7a759d7c
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.Configuration.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll
new file mode 100644
index 00000000..35905b68
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Logging.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.ObjectPool.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.ObjectPool.dll
new file mode 100644
index 00000000..b81a52cc
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.ObjectPool.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Options.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Options.dll
new file mode 100644
index 00000000..a7b3f21f
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Options.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Resilience.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Resilience.dll
new file mode 100644
index 00000000..a41b0d6b
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Resilience.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll
new file mode 100644
index 00000000..a5645511
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.ServiceDiscovery.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.ServiceDiscovery.dll
new file mode 100644
index 00000000..0a78da97
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.ServiceDiscovery.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll
new file mode 100644
index 00000000..f5ca6452
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.Extensions.Telemetry.dll b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Telemetry.dll
new file mode 100644
index 00000000..9c97d8a8
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.Extensions.Telemetry.dll differ
diff --git a/Generator/bin/Debug/net8.0/Microsoft.OpenApi.dll b/Generator/bin/Debug/net8.0/Microsoft.OpenApi.dll
new file mode 100644
index 00000000..aac9a6db
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Microsoft.OpenApi.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll
new file mode 100644
index 00000000..883c42e9
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Api.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Api.dll
new file mode 100644
index 00000000..94cca899
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Api.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll
new file mode 100644
index 00000000..fecf0acf
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Extensions.Hosting.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Extensions.Hosting.dll
new file mode 100644
index 00000000..3b320cf5
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Extensions.Hosting.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll
new file mode 100644
index 00000000..12e1af3b
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.Http.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.Http.dll
new file mode 100644
index 00000000..69ea5472
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.Http.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.Runtime.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.Runtime.dll
new file mode 100644
index 00000000..5916b871
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.Instrumentation.Runtime.dll differ
diff --git a/Generator/bin/Debug/net8.0/OpenTelemetry.dll b/Generator/bin/Debug/net8.0/OpenTelemetry.dll
new file mode 100644
index 00000000..a44d9fdc
Binary files /dev/null and b/Generator/bin/Debug/net8.0/OpenTelemetry.dll differ
diff --git a/Generator/bin/Debug/net8.0/Pipelines.Sockets.Unofficial.dll b/Generator/bin/Debug/net8.0/Pipelines.Sockets.Unofficial.dll
new file mode 100644
index 00000000..c5b223d3
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Pipelines.Sockets.Unofficial.dll differ
diff --git a/Generator/bin/Debug/net8.0/Polly.Core.dll b/Generator/bin/Debug/net8.0/Polly.Core.dll
new file mode 100644
index 00000000..bff5c912
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Polly.Core.dll differ
diff --git a/Generator/bin/Debug/net8.0/Polly.Extensions.dll b/Generator/bin/Debug/net8.0/Polly.Extensions.dll
new file mode 100644
index 00000000..312cf8eb
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Polly.Extensions.dll differ
diff --git a/Generator/bin/Debug/net8.0/Polly.RateLimiting.dll b/Generator/bin/Debug/net8.0/Polly.RateLimiting.dll
new file mode 100644
index 00000000..e29985e2
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Polly.RateLimiting.dll differ
diff --git a/Generator/bin/Debug/net8.0/Service.Api.deps.json b/Generator/bin/Debug/net8.0/Service.Api.deps.json
new file mode 100644
index 00000000..c603d3a8
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/Service.Api.deps.json
@@ -0,0 +1,1288 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "Service.Api/1.0.0": {
+ "dependencies": {
+ "AWSSDK.Extensions.NETCore.Setup": "4.0.3.33",
+ "AWSSDK.SQS": "4.0.2.15",
+ "Aspire.StackExchange.Redis.DistributedCaching": "9.5.2",
+ "Bogus": "35.6.5",
+ "CloudDevelopment.ServiceDefaults": "1.0.0",
+ "LocalStack.Client": "2.0.0",
+ "LocalStack.Client.Extensions": "2.0.0",
+ "Swashbuckle.AspNetCore": "6.6.2"
+ },
+ "runtime": {
+ "Service.Api.dll": {}
+ }
+ },
+ "Aspire.StackExchange.Redis/9.5.2": {
+ "dependencies": {
+ "AspNetCore.HealthChecks.Redis": "9.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/Aspire.StackExchange.Redis.dll": {
+ "assemblyVersion": "9.5.2.0",
+ "fileVersion": "9.500.225.52203"
+ }
+ }
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching/9.5.2": {
+ "dependencies": {
+ "AspNetCore.HealthChecks.Redis": "9.0.0",
+ "Aspire.StackExchange.Redis": "9.5.2",
+ "Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.20",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll": {
+ "assemblyVersion": "9.5.2.0",
+ "fileVersion": "9.500.225.52203"
+ }
+ }
+ },
+ "AspNetCore.HealthChecks.Redis/9.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/HealthChecks.Redis.dll": {
+ "assemblyVersion": "9.0.0.0",
+ "fileVersion": "9.0.0.0"
+ }
+ }
+ },
+ "AWSSDK.Core/4.0.3.29": {
+ "runtime": {
+ "lib/net8.0/AWSSDK.Core.dll": {
+ "assemblyVersion": "4.0.0.0",
+ "fileVersion": "4.0.3.29"
+ }
+ }
+ },
+ "AWSSDK.Extensions.NETCore.Setup/4.0.3.33": {
+ "dependencies": {
+ "AWSSDK.Core": "4.0.3.29",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3"
+ },
+ "runtime": {
+ "lib/net8.0/AWSSDK.Extensions.NETCore.Setup.dll": {
+ "assemblyVersion": "4.0.0.0",
+ "fileVersion": "4.0.3.33"
+ }
+ }
+ },
+ "AWSSDK.SQS/4.0.2.15": {
+ "dependencies": {
+ "AWSSDK.Core": "4.0.3.29"
+ },
+ "runtime": {
+ "lib/net8.0/AWSSDK.SQS.dll": {
+ "assemblyVersion": "4.0.0.0",
+ "fileVersion": "4.0.2.15"
+ }
+ }
+ },
+ "Bogus/35.6.5": {
+ "runtime": {
+ "lib/net6.0/Bogus.dll": {
+ "assemblyVersion": "35.6.5.0",
+ "fileVersion": "35.6.5.0"
+ }
+ }
+ },
+ "Google.Protobuf/3.22.5": {
+ "runtime": {
+ "lib/net5.0/Google.Protobuf.dll": {
+ "assemblyVersion": "3.22.5.0",
+ "fileVersion": "3.22.5.0"
+ }
+ }
+ },
+ "Grpc.Core.Api/2.52.0": {
+ "dependencies": {
+ "System.Memory": "4.5.3"
+ },
+ "runtime": {
+ "lib/netstandard2.1/Grpc.Core.Api.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.52.0.0"
+ }
+ }
+ },
+ "Grpc.Net.Client/2.52.0": {
+ "dependencies": {
+ "Grpc.Net.Common": "2.52.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3"
+ },
+ "runtime": {
+ "lib/net7.0/Grpc.Net.Client.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.52.0.0"
+ }
+ }
+ },
+ "Grpc.Net.Common/2.52.0": {
+ "dependencies": {
+ "Grpc.Core.Api": "2.52.0"
+ },
+ "runtime": {
+ "lib/net7.0/Grpc.Net.Common.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.52.0.0"
+ }
+ }
+ },
+ "LocalStack.Client/2.0.0": {
+ "dependencies": {
+ "AWSSDK.Core": "4.0.3.29"
+ },
+ "runtime": {
+ "lib/net8.0/LocalStack.Client.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ }
+ }
+ },
+ "LocalStack.Client.Extensions/2.0.0": {
+ "dependencies": {
+ "AWSSDK.Extensions.NETCore.Setup": "4.0.3.33",
+ "LocalStack.Client": "2.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/LocalStack.Client.Extensions.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.0.0.0"
+ }
+ }
+ },
+ "Microsoft.Extensions.AmbientMetadata.Application/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis/8.0.20": {
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll": {
+ "assemblyVersion": "8.0.20.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Compliance.Abstractions/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.ObjectPool": "8.0.20"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Configuration/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder/8.0.2": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.724.31311"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.AutoActivation/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.20": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.20": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Features/8.0.20": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Features.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Http/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Diagnostics": "8.0.1",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Http.Diagnostics/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Http": "8.0.1",
+ "Microsoft.Extensions.Telemetry": "9.9.0",
+ "System.IO.Pipelines": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.Diagnostics.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Http.Resilience/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Http.Diagnostics": "9.9.0",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Resilience": "9.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.Resilience.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.3": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1325.6609"
+ }
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration/8.0.1": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.1024.46610"
+ }
+ }
+ },
+ "Microsoft.Extensions.ObjectPool/8.0.20": {
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ObjectPool.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.2025.42002"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.0.224.6711"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {},
+ "Microsoft.Extensions.Resilience/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics": "8.0.1",
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "9.9.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
+ "Microsoft.Extensions.Telemetry.Abstractions": "9.9.0",
+ "Polly.Extensions": "8.4.2",
+ "Polly.RateLimiting": "8.4.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Resilience.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.ServiceDiscovery/9.5.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Features": "8.0.20",
+ "Microsoft.Extensions.Http": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions": "9.5.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.dll": {
+ "assemblyVersion": "9.5.0.0",
+ "fileVersion": "9.500.25.47407"
+ }
+ }
+ },
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions/9.5.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Features": "8.0.20",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll": {
+ "assemblyVersion": "9.5.0.0",
+ "fileVersion": "9.500.25.47407"
+ }
+ }
+ },
+ "Microsoft.Extensions.Telemetry/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.AmbientMetadata.Application": "9.9.0",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Logging.Configuration": "8.0.1",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Telemetry.Abstractions": "9.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.Extensions.Telemetry.Abstractions/9.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Compliance.Abstractions": "9.9.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll": {
+ "assemblyVersion": "9.9.0.0",
+ "fileVersion": "9.900.25.45804"
+ }
+ }
+ },
+ "Microsoft.OpenApi/1.6.14": {
+ "runtime": {
+ "lib/netstandard2.0/Microsoft.OpenApi.dll": {
+ "assemblyVersion": "1.6.14.0",
+ "fileVersion": "1.6.14.0"
+ }
+ }
+ },
+ "OpenTelemetry/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Configuration": "8.0.1",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Api/1.9.0": {
+ "dependencies": {
+ "System.Diagnostics.DiagnosticSource": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Api.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "OpenTelemetry.Api": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.9.0": {
+ "dependencies": {
+ "Google.Protobuf": "3.22.5",
+ "Grpc.Net.Client": "2.52.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "OpenTelemetry": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "OpenTelemetry": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Extensions.Hosting.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.9.0.1312"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore/1.9.0": {
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll": {
+ "assemblyVersion": "1.9.0.42",
+ "fileVersion": "1.9.0.42"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http/1.9.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": {
+ "assemblyVersion": "1.9.0.41",
+ "fileVersion": "1.9.0.41"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime/1.9.0": {
+ "dependencies": {
+ "OpenTelemetry.Api": "1.9.0"
+ },
+ "runtime": {
+ "lib/net6.0/OpenTelemetry.Instrumentation.Runtime.dll": {
+ "assemblyVersion": "1.9.0.57",
+ "fileVersion": "1.9.0.57"
+ }
+ }
+ },
+ "Pipelines.Sockets.Unofficial/2.2.8": {
+ "dependencies": {
+ "System.IO.Pipelines": "8.0.0"
+ },
+ "runtime": {
+ "lib/net5.0/Pipelines.Sockets.Unofficial.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "2.2.8.1080"
+ }
+ }
+ },
+ "Polly.Core/8.4.2": {
+ "runtime": {
+ "lib/net8.0/Polly.Core.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.4.2.3950"
+ }
+ }
+ },
+ "Polly.Extensions/8.4.2": {
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Polly.Core": "8.4.2"
+ },
+ "runtime": {
+ "lib/net8.0/Polly.Extensions.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.4.2.3950"
+ }
+ }
+ },
+ "Polly.RateLimiting/8.4.2": {
+ "dependencies": {
+ "Polly.Core": "8.4.2",
+ "System.Threading.RateLimiting": "8.0.0"
+ },
+ "runtime": {
+ "lib/net8.0/Polly.RateLimiting.dll": {
+ "assemblyVersion": "8.0.0.0",
+ "fileVersion": "8.4.2.3950"
+ }
+ }
+ },
+ "StackExchange.Redis/2.9.11": {
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Pipelines.Sockets.Unofficial": "2.2.8"
+ },
+ "runtime": {
+ "lib/net8.0/StackExchange.Redis.dll": {
+ "assemblyVersion": "2.0.0.0",
+ "fileVersion": "2.9.11.19757"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore/6.6.2": {
+ "dependencies": {
+ "Microsoft.Extensions.ApiDescription.Server": "6.0.5",
+ "Swashbuckle.AspNetCore.Swagger": "6.6.2",
+ "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2",
+ "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2"
+ }
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.6.2": {
+ "dependencies": {
+ "Microsoft.OpenApi": "1.6.14"
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": {
+ "assemblyVersion": "6.6.2.0",
+ "fileVersion": "6.6.2.401"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": {
+ "dependencies": {
+ "Swashbuckle.AspNetCore.Swagger": "6.6.2"
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
+ "assemblyVersion": "6.6.2.0",
+ "fileVersion": "6.6.2.401"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": {
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
+ "assemblyVersion": "6.6.2.0",
+ "fileVersion": "6.6.2.401"
+ }
+ }
+ },
+ "System.Diagnostics.DiagnosticSource/8.0.0": {},
+ "System.IO.Pipelines/8.0.0": {},
+ "System.Memory/4.5.3": {},
+ "System.Threading.RateLimiting/8.0.0": {},
+ "CloudDevelopment.ServiceDefaults/1.0.0": {
+ "dependencies": {
+ "Microsoft.Extensions.Http.Resilience": "9.9.0",
+ "Microsoft.Extensions.ServiceDiscovery": "9.5.0",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.9.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "OpenTelemetry.Instrumentation.AspNetCore": "1.9.0",
+ "OpenTelemetry.Instrumentation.Http": "1.9.0",
+ "OpenTelemetry.Instrumentation.Runtime": "1.9.0"
+ },
+ "runtime": {
+ "CloudDevelopment.ServiceDefaults.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Service.Api/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "Aspire.StackExchange.Redis/9.5.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Zvq1mBsyQGqdTMoJdRZVK/MokrO5VJsk686JLIVtYjHOfErgAAVOJdxqwYIff0b6L3l9Euh7SHcbLTEApGGWkw==",
+ "path": "aspire.stackexchange.redis/9.5.2",
+ "hashPath": "aspire.stackexchange.redis.9.5.2.nupkg.sha512"
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching/9.5.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-C4fWMCbmRFoR1mrvJGovXJm8k/cKN5tP1seQj7ZQrj7Cg0BbX0Un1VuSE/zTwD9hEqEUm6DMI4xbUSrbS3RkVA==",
+ "path": "aspire.stackexchange.redis.distributedcaching/9.5.2",
+ "hashPath": "aspire.stackexchange.redis.distributedcaching.9.5.2.nupkg.sha512"
+ },
+ "AspNetCore.HealthChecks.Redis/9.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-yNH0h8GLRbAf+PU5HNVLZ5hNeyq9mDVmRKO9xuZsme/znUYoBJlQvI0gq45gaZNlLncCHkMhR4o90MuT+gxxPw==",
+ "path": "aspnetcore.healthchecks.redis/9.0.0",
+ "hashPath": "aspnetcore.healthchecks.redis.9.0.0.nupkg.sha512"
+ },
+ "AWSSDK.Core/4.0.3.29": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-y07n9BHBVRDe3fDAjitnOBPwDwJ5NZ4oOh6ZvOizYWEsJnYcs34FQtTJ70Gt17qTCH86ma5kJdyMZ2lixm/dqg==",
+ "path": "awssdk.core/4.0.3.29",
+ "hashPath": "awssdk.core.4.0.3.29.nupkg.sha512"
+ },
+ "AWSSDK.Extensions.NETCore.Setup/4.0.3.33": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-/YgVZAIhVgml5OSvFe8jxwaU6EJewioZilkwo/rs3labucBUbqZfQeAtLSgZG2xyG/JGsgNB7/O2ZQygiken4Q==",
+ "path": "awssdk.extensions.netcore.setup/4.0.3.33",
+ "hashPath": "awssdk.extensions.netcore.setup.4.0.3.33.nupkg.sha512"
+ },
+ "AWSSDK.SQS/4.0.2.15": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Fa4lx6saNTFakp4mXiDDJ6TrLuDfJmHjQZUGghwS5rzeS9T3NgRokaJ0jEhvW21Q/+ophhEOUZSwoZ8sLEdJDA==",
+ "path": "awssdk.sqs/4.0.2.15",
+ "hashPath": "awssdk.sqs.4.0.2.15.nupkg.sha512"
+ },
+ "Bogus/35.6.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-2FGZn+aAVHjmCgClgmGkTDBVZk0zkLvAKGaxEf5JL6b3i9JbHTE4wnuY4vHCuzlCmJdU6VZjgDfHwmYkQF8VAA==",
+ "path": "bogus/35.6.5",
+ "hashPath": "bogus.35.6.5.nupkg.sha512"
+ },
+ "Google.Protobuf/3.22.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==",
+ "path": "google.protobuf/3.22.5",
+ "hashPath": "google.protobuf.3.22.5.nupkg.sha512"
+ },
+ "Grpc.Core.Api/2.52.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==",
+ "path": "grpc.core.api/2.52.0",
+ "hashPath": "grpc.core.api.2.52.0.nupkg.sha512"
+ },
+ "Grpc.Net.Client/2.52.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==",
+ "path": "grpc.net.client/2.52.0",
+ "hashPath": "grpc.net.client.2.52.0.nupkg.sha512"
+ },
+ "Grpc.Net.Common/2.52.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==",
+ "path": "grpc.net.common/2.52.0",
+ "hashPath": "grpc.net.common.2.52.0.nupkg.sha512"
+ },
+ "LocalStack.Client/2.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-aNTiKTEeVsvd5vfolWmsJ6f5uAgiiNh63F3oYFG4EerJf9T1Q9Ps7KV2BJLDtb2+CaxQlROgkf15JjhZLo8xmg==",
+ "path": "localstack.client/2.0.0",
+ "hashPath": "localstack.client.2.0.0.nupkg.sha512"
+ },
+ "LocalStack.Client.Extensions/2.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-4jCBUBUDcr+ftTIiE8UZgLowXnzLtpGlR8Gx6svUGYvUxoJqyXP5MDi6uaoXsGg7qJb1DDBTiZ4jsRI2oLg8pA==",
+ "path": "localstack.client.extensions/2.0.0",
+ "hashPath": "localstack.client.extensions.2.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.AmbientMetadata.Application/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-sCc7X0rXDdWIXdRq/s8Yd3YoMz2r0wNyRGQ5HdYu1TfvpGryH/3lH1pizS1WsL8gYrAD3nT0GIbsyz6c5dM/wQ==",
+ "path": "microsoft.extensions.ambientmetadata.application/9.9.0",
+ "hashPath": "microsoft.extensions.ambientmetadata.application.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
+ "path": "microsoft.extensions.apidescription.server/6.0.5",
+ "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
+ "path": "microsoft.extensions.caching.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-X6pBeU2ARaOqxxqqq9I5HmhtciULikdzr74uLM+Ri95epbk6yh3JQcjvC/7d40mzKrg4G2EjbKqbmSoZhCZJFg==",
+ "path": "microsoft.extensions.caching.stackexchangeredis/8.0.20",
+ "hashPath": "microsoft.extensions.caching.stackexchangeredis.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Compliance.Abstractions/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-9/bU4vuy7xu81BeiHazP0kmtOb3vAKSGdN+9s84/HfwVDvxAZOfPxDK7uPl6jEfiFdZvpHNF/YxWQqaISvYEUQ==",
+ "path": "microsoft.extensions.compliance.abstractions/9.9.0",
+ "hashPath": "microsoft.extensions.compliance.abstractions.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
+ "path": "microsoft.extensions.configuration/8.0.0",
+ "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
+ "path": "microsoft.extensions.configuration.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Configuration.Binder/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-7IQhGK+wjyGrNsPBjJcZwWAr+Wf6D4+TwOptUt77bWtgNkiV8tDEbhFS+dDamtQFZ2X7kWG9m71iZQRj2x3zgQ==",
+ "path": "microsoft.extensions.configuration.binder/8.0.2",
+ "hashPath": "microsoft.extensions.configuration.binder.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==",
+ "path": "microsoft.extensions.dependencyinjection/8.0.1",
+ "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2",
+ "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.DependencyInjection.AutoActivation/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-DrDJ7+dWB0LeR6b83wj9WNhr45O67Q+wTxFaVE9BHpAFGc66Xz/K3A5wp5fA/060vLGGDgkftBpbS307BizSFw==",
+ "path": "microsoft.extensions.dependencyinjection.autoactivation/9.9.0",
+ "hashPath": "microsoft.extensions.dependencyinjection.autoactivation.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-doVPCUUCY7c6LhBsEfiy3W1bvS7Mi6LkfQMS8nlC22jZWNxBv8VO8bdfeyvpYFst6Kxqk7HBC6lytmEoBssvSQ==",
+ "path": "microsoft.extensions.diagnostics/8.0.1",
+ "hashPath": "microsoft.extensions.diagnostics.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-elH2vmwNmsXuKmUeMQ4YW9ldXiF+gSGDgg1vORksob5POnpaI6caj1Hu8zaYbEuibhqCoWg0YRWDazBY3zjBfg==",
+ "path": "microsoft.extensions.diagnostics.abstractions/8.0.1",
+ "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-LVb1ziRqI8x8TNCJW+zRGx1xPTPFWbhJzEk8k+rFx03M8zrQt5T+3MMV/fWTeHc3/7uoJDRDRklRMUlAqQw99w==",
+ "path": "microsoft.extensions.diagnostics.exceptionsummarization/9.9.0",
+ "hashPath": "microsoft.extensions.diagnostics.exceptionsummarization.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-UAgqpgfLaFQewIQrMW8hpe/cVdVDRhdoQmI2kWP1tw1iesCZ+qhvYTV4upNRKCI+TQkctlxPlSFVbfk4XKykDw==",
+ "path": "microsoft.extensions.diagnostics.healthchecks/8.0.20",
+ "hashPath": "microsoft.extensions.diagnostics.healthchecks.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ez084scWlXgAl8ccTFw7BSi/KbZ6qvuWXy1K7Dnu0akFhocHct7M/zPIGt64pJXk5GxaMCCtRwuAaI1xfiJcAA==",
+ "path": "microsoft.extensions.diagnostics.healthchecks.abstractions/8.0.20",
+ "hashPath": "microsoft.extensions.diagnostics.healthchecks.abstractions.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Features/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3YCswjRwDom5KEyCfdPfyfKxKOVXairlyjNLJ48BG1YIs6GP2RNbK36rZY7myOkW64kjAaZTXMY7ruscqasDew==",
+ "path": "microsoft.extensions.features/8.0.20",
+ "hashPath": "microsoft.extensions.features.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
+ "path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
+ "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Hosting.Abstractions/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-nHwq9aPBdBPYXPti6wYEEfgXddfBrYC+CQLn+qISiwQq5tpfaqDZSKOJNxoe9rfQxGf1c+2wC/qWFe1QYJPYqw==",
+ "path": "microsoft.extensions.hosting.abstractions/8.0.1",
+ "hashPath": "microsoft.extensions.hosting.abstractions.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Http/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-kDYeKJUzh0qeg/AI+nSr3ffthmXYQTEb0nS9qRC7YhSbbuN4M4NPbaB77AJwtkTnCV9XZ7qYj3dkZaNcyl73EA==",
+ "path": "microsoft.extensions.http/8.0.1",
+ "hashPath": "microsoft.extensions.http.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Http.Diagnostics/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-bdO0rzxXHsmp0+k1chjBKwxhdxkHetBfVe2LhFkoxSirErvvTmnD/ZeHqdNOeMEouJmaoGJFep70NFRK8/NDlA==",
+ "path": "microsoft.extensions.http.diagnostics/9.9.0",
+ "hashPath": "microsoft.extensions.http.diagnostics.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Http.Resilience/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dZ5Y34CsrPNBn4GMLq/PJeIV903R98K3Z3a2sECEeJv3kW4HlgwDZoZWsbG4ymBdGdQJoXS+Qp8sdLm3ptFdDg==",
+ "path": "microsoft.extensions.http.resilience/9.9.0",
+ "hashPath": "microsoft.extensions.http.resilience.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==",
+ "path": "microsoft.extensions.logging/8.0.1",
+ "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
+ "path": "microsoft.extensions.logging.abstractions/8.0.3",
+ "hashPath": "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Logging.Configuration/8.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-QWwTrsgOnJMmn+XUslm8D2H1n3PkP/u/v52FODtyBc/k4W9r3i2vcXXeeX/upnzllJYRRbrzVzT0OclfNJtBJA==",
+ "path": "microsoft.extensions.logging.configuration/8.0.1",
+ "hashPath": "microsoft.extensions.logging.configuration.8.0.1.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ObjectPool/8.0.20": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+mTW7r2MxHN7DazXUdmne/aiUcxs7fQP3CvfLF/O00hqtBS7nAU+jVRRaVFkXFbY23y3bbfCgke425Zknxlywg==",
+ "path": "microsoft.extensions.objectpool/8.0.20",
+ "hashPath": "microsoft.extensions.objectpool.8.0.20.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+ "path": "microsoft.extensions.options/8.0.2",
+ "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==",
+ "path": "microsoft.extensions.options.configurationextensions/8.0.0",
+ "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+ "path": "microsoft.extensions.primitives/8.0.0",
+ "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Resilience/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-MZNGlO++Z64MsIzb2d875uFx0fivsJb+gMjSacVQTpINJm0sxzOK2CfjnH4gDbndAZ9pCU2rZtsxqMa45YkM6A==",
+ "path": "microsoft.extensions.resilience/9.9.0",
+ "hashPath": "microsoft.extensions.resilience.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ServiceDiscovery/9.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Fj/yZriF1f9XV0xy30cCM6OXfGMwx40Irhf+zM6cREf6W1OvFjnzDKnGS/kSKPqr579PdFkXd5s8uDRIXr8N4g==",
+ "path": "microsoft.extensions.servicediscovery/9.5.0",
+ "hashPath": "microsoft.extensions.servicediscovery.9.5.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions/9.5.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-uPSUz9kPHe0vm0YQFIKJebxhTH5FrG51qGvquRntE87Z3tDKEGjQMWsxKog/RqhB0YO8OYn0F7jRxnTJlj3KvQ==",
+ "path": "microsoft.extensions.servicediscovery.abstractions/9.5.0",
+ "hashPath": "microsoft.extensions.servicediscovery.abstractions.9.5.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Telemetry/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-gwTzxU0+W0Beqp0jivDajsjVtLZTxM5werm4kggyTqmP5dlfapo/0DoK0yG3/gNyiFWCcJmEGhmqrSL9gNFtGw==",
+ "path": "microsoft.extensions.telemetry/9.9.0",
+ "hashPath": "microsoft.extensions.telemetry.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.Extensions.Telemetry.Abstractions/9.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-EmnlvikFKeWRJLvdoysRWOnYggD+aQpwpXjfDAZLpbuiPYsNhXzMRs6b+/R0QiQ5gV8r6JAGZyexMum8ZUDtWA==",
+ "path": "microsoft.extensions.telemetry.abstractions/9.9.0",
+ "hashPath": "microsoft.extensions.telemetry.abstractions.9.9.0.nupkg.sha512"
+ },
+ "Microsoft.OpenApi/1.6.14": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==",
+ "path": "microsoft.openapi/1.6.14",
+ "hashPath": "microsoft.openapi.1.6.14.nupkg.sha512"
+ },
+ "OpenTelemetry/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-7scS6BUhwYeSXEDGhCxMSezmvyCoDU5kFQbmfyW9iVvVTcWhec+1KIN33/LOCdBXRkzt2y7+g03mkdAB0XZ9Fw==",
+ "path": "opentelemetry/1.9.0",
+ "hashPath": "opentelemetry.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Api/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-Xz8ZvM1Lm0m7BbtGBnw2JlPo++YKyMp08zMK5p0mf+cIi5jeMt2+QsYu9X6YEAbjCxBQYwEak5Z8sY6Ig2WcwQ==",
+ "path": "opentelemetry.api/1.9.0",
+ "hashPath": "opentelemetry.api.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-L0D4LBR5JFmwLun5MCWVGapsJLV0ANZ+XXu9NEI3JE/HRKkRuUO+J2MuHD5DBwiU//QMYYM4B22oev1hVLoHDQ==",
+ "path": "opentelemetry.api.providerbuilderextensions/1.9.0",
+ "hashPath": "opentelemetry.api.providerbuilderextensions.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-qzFOP3V2eYIVbug3U4BJzzidHe9JhAJ42WZ/H8pUp/45Ry3MQQg/+e/ZieClJcxKnpbkXi7dUq1rpvuNp+yBYA==",
+ "path": "opentelemetry.exporter.opentelemetryprotocol/1.9.0",
+ "hashPath": "opentelemetry.exporter.opentelemetryprotocol.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Extensions.Hosting/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-QBQPrKDVCXxTBE+r8tgjmFNKKHi4sKyczmip2XGUcjy8kk3quUNhttnjiMqC4sU50Hemmn4i5752Co26pnKe3A==",
+ "path": "opentelemetry.extensions.hosting/1.9.0",
+ "hashPath": "opentelemetry.extensions.hosting.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-x4HuWBw1rbWZUh5j8/GpXz3xa7JnrTuKne+ACmBqvcoO/rNGkG7HayRruwoQ7gf52xpMtRGr4gxlhLW8eU0EiQ==",
+ "path": "opentelemetry.instrumentation.aspnetcore/1.9.0",
+ "hashPath": "opentelemetry.instrumentation.aspnetcore.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Instrumentation.Http/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+ZXppf8Qxz3OdC803T8fB6i8iSscc8PsxMnM/JizSOYmkz+8vGiScEiaBBBFNZtMh2KpA0q+qxwnSwQUkbvzog==",
+ "path": "opentelemetry.instrumentation.http/1.9.0",
+ "hashPath": "opentelemetry.instrumentation.http.1.9.0.nupkg.sha512"
+ },
+ "OpenTelemetry.Instrumentation.Runtime/1.9.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-6raJb9Pvi1CaBB59SX86Mr9NQiQbiv9ialO+cQKFRGCq3Bl2WC8cTTcbfGtaRX0quqWnZC/dK7xrXuOuYcwANA==",
+ "path": "opentelemetry.instrumentation.runtime/1.9.0",
+ "hashPath": "opentelemetry.instrumentation.runtime.1.9.0.nupkg.sha512"
+ },
+ "Pipelines.Sockets.Unofficial/2.2.8": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==",
+ "path": "pipelines.sockets.unofficial/2.2.8",
+ "hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512"
+ },
+ "Polly.Core/8.4.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-BpE2I6HBYYA5tF0Vn4eoQOGYTYIK1BlF5EXVgkWGn3mqUUjbXAr13J6fZVbp7Q3epRR8yshacBMlsHMhpOiV3g==",
+ "path": "polly.core/8.4.2",
+ "hashPath": "polly.core.8.4.2.nupkg.sha512"
+ },
+ "Polly.Extensions/8.4.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-GZ9vRVmR0jV2JtZavt+pGUsQ1O1cuRKG7R7VOZI6ZDy9y6RNPvRvXK1tuS4ffUrv8L0FTea59oEuQzgS0R7zSA==",
+ "path": "polly.extensions/8.4.2",
+ "hashPath": "polly.extensions.8.4.2.nupkg.sha512"
+ },
+ "Polly.RateLimiting/8.4.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ehTImQ/eUyO07VYW2WvwSmU9rRH200SKJ/3jku9rOkyWE0A2JxNFmAVms8dSn49QLSjmjFRRSgfNyOgr/2PSmA==",
+ "path": "polly.ratelimiting/8.4.2",
+ "hashPath": "polly.ratelimiting.8.4.2.nupkg.sha512"
+ },
+ "StackExchange.Redis/2.9.11": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3J0qv0qFhMeCe2ZApnbbC6ZgNs/iTdmqvFyN/tIw5A0CTlABF1BJh86D3Cf03V9FoftvqeKeAnOkJAHTHpm1xA==",
+ "path": "stackexchange.redis/2.9.11",
+ "hashPath": "stackexchange.redis.2.9.11.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==",
+ "path": "swashbuckle.aspnetcore/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.6.6.2.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==",
+ "path": "swashbuckle.aspnetcore.swagger/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==",
+ "path": "swashbuckle.aspnetcore.swaggergen/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512"
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==",
+ "path": "swashbuckle.aspnetcore.swaggerui/6.6.2",
+ "hashPath": "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512"
+ },
+ "System.Diagnostics.DiagnosticSource/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==",
+ "path": "system.diagnostics.diagnosticsource/8.0.0",
+ "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512"
+ },
+ "System.IO.Pipelines/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA==",
+ "path": "system.io.pipelines/8.0.0",
+ "hashPath": "system.io.pipelines.8.0.0.nupkg.sha512"
+ },
+ "System.Memory/4.5.3": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
+ "path": "system.memory/4.5.3",
+ "hashPath": "system.memory.4.5.3.nupkg.sha512"
+ },
+ "System.Threading.RateLimiting/8.0.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==",
+ "path": "system.threading.ratelimiting/8.0.0",
+ "hashPath": "system.threading.ratelimiting.8.0.0.nupkg.sha512"
+ },
+ "CloudDevelopment.ServiceDefaults/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/bin/Debug/net8.0/Service.Api.dll b/Generator/bin/Debug/net8.0/Service.Api.dll
new file mode 100644
index 00000000..12c0f94c
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Service.Api.dll differ
diff --git a/Generator/bin/Debug/net8.0/Service.Api.exe b/Generator/bin/Debug/net8.0/Service.Api.exe
new file mode 100644
index 00000000..a7e2f4d4
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Service.Api.exe differ
diff --git a/Generator/bin/Debug/net8.0/Service.Api.pdb b/Generator/bin/Debug/net8.0/Service.Api.pdb
new file mode 100644
index 00000000..a27a3971
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Service.Api.pdb differ
diff --git a/Generator/bin/Debug/net8.0/Service.Api.runtimeconfig.json b/Generator/bin/Debug/net8.0/Service.Api.runtimeconfig.json
new file mode 100644
index 00000000..5e604c7e
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/Service.Api.runtimeconfig.json
@@ -0,0 +1,19 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "frameworks": [
+ {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ {
+ "name": "Microsoft.AspNetCore.App",
+ "version": "8.0.0"
+ }
+ ],
+ "configProperties": {
+ "System.GC.Server": true,
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/bin/Debug/net8.0/Service.Api.staticwebassets.endpoints.json b/Generator/bin/Debug/net8.0/Service.Api.staticwebassets.endpoints.json
new file mode 100644
index 00000000..5576e889
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/Service.Api.staticwebassets.endpoints.json
@@ -0,0 +1 @@
+{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/Generator/bin/Debug/net8.0/StackExchange.Redis.dll b/Generator/bin/Debug/net8.0/StackExchange.Redis.dll
new file mode 100644
index 00000000..54c4fe69
Binary files /dev/null and b/Generator/bin/Debug/net8.0/StackExchange.Redis.dll differ
diff --git a/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll b/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll
new file mode 100644
index 00000000..41e2fc2f
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll differ
diff --git a/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll b/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll
new file mode 100644
index 00000000..de7f45da
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll differ
diff --git a/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll b/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll
new file mode 100644
index 00000000..117b9f3c
Binary files /dev/null and b/Generator/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll differ
diff --git a/Generator/bin/Debug/net8.0/appsettings.Development.json b/Generator/bin/Debug/net8.0/appsettings.Development.json
new file mode 100644
index 00000000..0c208ae9
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/Generator/bin/Debug/net8.0/appsettings.json b/Generator/bin/Debug/net8.0/appsettings.json
new file mode 100644
index 00000000..5490bdb0
--- /dev/null
+++ b/Generator/bin/Debug/net8.0/appsettings.json
@@ -0,0 +1,13 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "CreditOrderCache": {
+ "Enabled": true,
+ "TtlSeconds": 60
+ },
+ "AllowedHosts": "*"
+}
diff --git a/Generator/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/Generator/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 00000000..2217181c
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/Generator/obj/Debug/net8.0/ApiEndpoints.json b/Generator/obj/Debug/net8.0/ApiEndpoints.json
new file mode 100644
index 00000000..9e4d7942
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/ApiEndpoints.json
@@ -0,0 +1,28 @@
+[
+ {
+ "ContainingType": "Service.Api.Controllers.CreditOrderController",
+ "Method": "Get",
+ "RelativePath": "credit-orders",
+ "HttpMethod": "GET",
+ "IsController": true,
+ "Order": 0,
+ "Parameters": [
+ {
+ "Name": "id",
+ "Type": "System.Int32",
+ "IsRequired": false
+ }
+ ],
+ "ReturnTypes": [
+ {
+ "Type": "Service.Api.Dto.CreditOrderDto",
+ "MediaTypes": [
+ "text/plain",
+ "application/json",
+ "text/json"
+ ],
+ "StatusCode": 200
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/AppSettingsSchema.json b/Generator/obj/Debug/net8.0/AppSettingsSchema.json
new file mode 100644
index 00000000..72be9aef
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/AppSettingsSchema.json
@@ -0,0 +1,1449 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "https://json.schemastore.org/appsettings.json",
+ "definitions": {
+ "webOptimizer": {
+ "title": "web optimizer",
+ "type": "object",
+ "description": "Settings for WebOptimizer.Core",
+ "properties": {
+ "enableCaching": {
+ "description": "Determines if the \u0022cache-control\u0022 HTTP headers should be set and if conditional GET (304) requests should be supported. This could be helpful to disable while in development mode.",
+ "type": "boolean"
+ },
+ "enableTagHelperBundling": {
+ "description": "Determines if \u0060\u003Cscript\u003E\u0060 and \u0060\u003Clink\u003E\u0060 elements should point to the bundled path or a reference per source file should be created. This is helpful to disable when in development mode.",
+ "type": "boolean",
+ "default": true
+ }
+ }
+ },
+ "cdn": {
+ "title": "CDN",
+ "type": "object",
+ "description": "Definitions for WebEssentials.AspNetCore.CdnTagHelpers",
+ "properties": {
+ "url": {
+ "description": "An absolute URL used as a prefix for static resources",
+ "type": "string",
+ "pattern": "^((//|https?://).\u002B|)$"
+ },
+ "prefetch": {
+ "description": "If true, injects a \u003Clink rel=\u0027dns-prefetch\u0027\u003E tag that speeds up DNS resolution to the CDN.",
+ "type": "boolean",
+ "default": true
+ }
+ }
+ },
+ "pwa": {
+ "properties": {
+ "cacheId": {
+ "description": "The cache identifier of the service worker (can be any string). Change this property to force the service worker to reload in browsers.",
+ "type": "string",
+ "default": "v1.0"
+ },
+ "offlineRoute": {
+ "description": "The route to the page to show when offline.",
+ "type": "string",
+ "default": "/offline.html"
+ },
+ "registerServiceWorker": {
+ "description": "Determines if a script that registers the service worker should be injected into the bottom of the HTML page.",
+ "type": "boolean",
+ "default": true
+ },
+ "registerWebmanifest": {
+ "description": "Determines if a meta tag that points to the web manifest should be inserted at the end of the head element.",
+ "type": "boolean",
+ "default": true
+ },
+ "routesToPreCache": {
+ "description": "A comma separated list of routes to pre-cache when service worker installs in the browser.",
+ "type": "string",
+ "default": ""
+ },
+ "strategy": {
+ "description": "Selects one of the predefined service worker types.",
+ "enum": [
+ "cacheFirst",
+ "cacheFirstSafe",
+ "minimal",
+ "networkFirst"
+ ],
+ "default": "cacheFirstSafe"
+ }
+ }
+ },
+ "ElmahIo": {
+ "properties": {
+ "ApiKey": {
+ "description": "An elmah.io API key with the Messages | Write permission.",
+ "type": "string",
+ "pattern": "^([0-9a-f]{32})|(#\\{.*\\}#?)$"
+ },
+ "LogId": {
+ "description": "The Id of the elmah.io log to store messages in.",
+ "type": "string",
+ "pattern": "^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|(#\\{.*\\}#?)$"
+ },
+ "Application": {
+ "description": "An application name to put on all error messages.",
+ "type": "string"
+ },
+ "HandledStatusCodesToLog": {
+ "description": "A list of HTTP status codes (besides 404) to log even though no exception is thrown.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "TreatLoggingAsBreadcrumbs": {
+ "description": "Include log messages from Microsoft.Extensions.Logging as breadcrumbs.",
+ "type": "boolean"
+ },
+ "HeartbeatId": {
+ "description": "The Id of the elmah.io heartbeat to notify.",
+ "type": "string",
+ "pattern": "^([0-9a-f]{32})|(#\\{.*\\}#?)$"
+ }
+ },
+ "required": [
+ "ApiKey",
+ "LogId"
+ ]
+ },
+ "protocols": {
+ "description": "The protocols enabled on the endpoint.",
+ "type": "string",
+ "enum": [
+ "None",
+ "Http1",
+ "Http2",
+ "Http1AndHttp2",
+ "Http3",
+ "Http1AndHttp2AndHttp3"
+ ]
+ },
+ "certificate": {
+ "title": "certificate",
+ "description": "Certificate configuration.",
+ "type": "object",
+ "properties": {
+ "Path": {
+ "description": "The certificate file path. If a file path is specified then the certificate will be loaded from the file system.",
+ "type": "string"
+ },
+ "KeyPath": {
+ "description": "The certificate key file path. Available in .NET 5 and later.",
+ "type": "string"
+ },
+ "Password": {
+ "description": "The certificate password used to access the private key.",
+ "type": "string"
+ },
+ "Subject": {
+ "description": "The certificate subject. If a subject is specified then the certificate will be loaded from the certificate store.",
+ "type": "string"
+ },
+ "Store": {
+ "description": "The certificate store name. Defaults to \u0027My\u0027.",
+ "type": "string",
+ "default": "My"
+ },
+ "Location": {
+ "description": "The certificate store location. Defaults to \u0027CurrentUser\u0027.",
+ "type": "string",
+ "enum": [
+ "LocalMachine",
+ "CurrentUser"
+ ],
+ "default": "CurrentUser"
+ },
+ "AllowInvalid": {
+ "description": "A value indicating whether or not to load certificates that are considered invalid. Defaults to false.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "sslProtocols": {
+ "description": "Specifies allowable SSL protocols. Defaults to \u0027None\u0027 which allows the operating system to choose the best protocol to use, and to block protocols that are not secure. Unless your app has a specific reason not to, you should use this default. Available in .NET 5 and later.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Tls",
+ "Tls11",
+ "Tls12",
+ "Tls13"
+ ],
+ "default": "None"
+ }
+ },
+ "clientCertificateMode": {
+ "description": "Specifies the client certificate requirements for a HTTPS connection. Defaults to \u0027NoCertificate\u0027. Available in .NET 5 and later.",
+ "type": "string",
+ "enum": [
+ "NoCertificate",
+ "AllowCertificate",
+ "RequireCertificate"
+ ],
+ "default": "NoCertificate"
+ },
+ "kestrel": {
+ "title": "kestrel",
+ "type": "object",
+ "description": "ASP.NET Core Kestrel server configuration.",
+ "properties": {
+ "Endpoints": {
+ "title": "endpoints",
+ "description": "Endpoints that Kestrel listens to for network requests. Each endpoint has a name specified by its JSON property name.",
+ "type": "object",
+ "additionalProperties": {
+ "title": "endpoint options",
+ "description": "Kestrel endpoint configuration.",
+ "type": "object",
+ "properties": {
+ "Url": {
+ "description": "The scheme, host name, and port the endpoint will listen on. A Url is required.",
+ "type": "string",
+ "format": "uri"
+ },
+ "Protocols": {
+ "$ref": "#/definitions/protocols"
+ },
+ "SslProtocols": {
+ "$ref": "#/definitions/sslProtocols"
+ },
+ "Certificate": {
+ "$ref": "#/definitions/certificate"
+ },
+ "ClientCertificateMode": {
+ "$ref": "#/definitions/clientCertificateMode"
+ },
+ "Sni": {
+ "title": "SNI",
+ "description": "Server Name Indication (SNI) configuration. This enables the mapping of client requested host names to certificates and other TLS settings. Wildcard names prefixed with \u0027*.\u0027, as well as a top level \u0027*\u0027 are supported. Available in .NET 5 and later.",
+ "type": "object",
+ "additionalProperties": {
+ "title": "SNI options",
+ "description": "Endpoint SNI configuration.",
+ "type": "object",
+ "properties": {
+ "Protocols": {
+ "$ref": "#/definitions/protocols"
+ },
+ "SslProtocols": {
+ "$ref": "#/definitions/sslProtocols"
+ },
+ "Certificate": {
+ "$ref": "#/definitions/certificate"
+ },
+ "ClientCertificateMode": {
+ "$ref": "#/definitions/clientCertificateMode"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "Url"
+ ]
+ }
+ },
+ "EndpointDefaults": {
+ "title": "endpoint defaults",
+ "description": "Default configuration applied to all endpoints. Named endpoint specific configuration overrides defaults.",
+ "type": "object",
+ "properties": {
+ "Protocols": {
+ "$ref": "#/definitions/protocols"
+ },
+ "SslProtocols": {
+ "$ref": "#/definitions/sslProtocols"
+ },
+ "ClientCertificateMode": {
+ "$ref": "#/definitions/clientCertificateMode"
+ }
+ }
+ },
+ "Certificates": {
+ "title": "certificates",
+ "description": "Certificates that Kestrel uses with HTTPS endpoints. Each certificate has a name specified by its JSON property name. The \u0027Default\u0027 certificate is used by HTTPS endpoints that haven\u0027t specified a certificate.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/certificate"
+ }
+ }
+ }
+ },
+ "logLevelThreshold": {
+ "description": "Log level threshold.",
+ "type": "string",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Information",
+ "Warning",
+ "Error",
+ "Critical",
+ "None"
+ ]
+ },
+ "logLevel": {
+ "title": "logging level options",
+ "description": "Log level configurations used when creating logs. Only logs that exceeds its matching log level will be enabled. Each log level configuration has a category specified by its JSON property name. For more information about configuring log levels, see https://docs.microsoft.com/aspnet/core/fundamentals/logging/#configure-logging.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/logLevelThreshold"
+ },
+ "properties": {
+ "StackExchange.Redis": {
+ "$ref": "#/definitions/logLevelThreshold"
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis": {
+ "$ref": "#/definitions/logLevelThreshold"
+ }
+ }
+ },
+ "logging": {
+ "title": "logging options",
+ "type": "object",
+ "description": "Configuration for Microsoft.Extensions.Logging.",
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ },
+ "Console": {
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ },
+ "FormatterName": {
+ "description": "Name of the log message formatter to use. Defaults to \u0027simple\u0027.",
+ "type": "string",
+ "default": "simple"
+ },
+ "FormatterOptions": {
+ "title": "formatter options",
+ "description": "Log message formatter options. Additional properties are available on the options depending on the configured formatter. The formatter is specified by FormatterName.",
+ "type": "object",
+ "properties": {
+ "IncludeScopes": {
+ "description": "Include scopes when true. Defaults to false.",
+ "type": "boolean",
+ "default": false
+ },
+ "TimestampFormat": {
+ "description": "Format string used to format timestamp in logging messages. Defaults to null.",
+ "type": "string"
+ },
+ "UseUtcTimestamp": {
+ "description": "Indication whether or not UTC timezone should be used to for timestamps in logging messages. Defaults to false.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "LogToStandardErrorThreshold": {
+ "$ref": "#/definitions/logLevelThreshold",
+ "description": "The minimum level of messages are written to Console.Error."
+ }
+ }
+ },
+ "EventSource": {
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ }
+ }
+ },
+ "Debug": {
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ }
+ }
+ },
+ "EventLog": {
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ }
+ }
+ },
+ "ElmahIo": {
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ }
+ }
+ },
+ "ElmahIoBreadcrumbs": {
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "title": "provider logging settings",
+ "type": "object",
+ "description": "Logging configuration for a provider. The provider name must match the configuration\u0027s JSON property property name.",
+ "properties": {
+ "LogLevel": {
+ "$ref": "#/definitions/logLevel"
+ }
+ }
+ }
+ },
+ "allowedHosts": {
+ "description": "ASP.NET Core host filtering middleware configuration. Allowed hosts is a semicolon-delimited list of host names without port numbers. Requests without a matching host name will be refused. Host names may be prefixed with a \u0027*.\u0027 wildcard, or use \u0027*\u0027 to allow all hosts.",
+ "type": "string"
+ },
+ "connectionStrings": {
+ "title": "connection string options",
+ "description": "Connection string configuration. Get connection strings with the IConfiguration.GetConnectionString(string) extension method.",
+ "type": "object",
+ "additionalProperties": {
+ "description": "Connection string configuration. Each connection string has a name specified by its JSON property name.",
+ "type": "string"
+ }
+ },
+ "NLog": {
+ "title": "NLog options",
+ "type": "object",
+ "description": "NLog configuration",
+ "default": {},
+ "properties": {
+ "autoReload": {
+ "type": "boolean",
+ "description": "Automatically reload the NLog configuration when notified that appsettings.json file has changed.",
+ "default": false
+ },
+ "throwConfigExceptions": {
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "description": "Throws an exception when there is a config error? If not set, then throwExceptions will be used for this setting.",
+ "default": false
+ },
+ "throwExceptions": {
+ "type": "boolean",
+ "description": "Throws an exception when there is an error. For unit testing only and advanced troubleshooting.",
+ "default": false
+ },
+ "internalLogLevel": {
+ "type": "string",
+ "description": "The minimal log level for the internal logger.",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Info",
+ "Warn",
+ "Error",
+ "Fatal",
+ "Off"
+ ],
+ "default": "Off"
+ },
+ "internalLogFile": {
+ "type": "string",
+ "description": "Write internal log to the specified filepath"
+ },
+ "internalLogToConsole": {
+ "type": "boolean",
+ "description": "Write internal log to a console",
+ "default": "false"
+ },
+ "internalLogToConsoleError": {
+ "type": "boolean",
+ "description": "Write internal log to a console with error stream",
+ "default": "false"
+ },
+ "globalThreshold": {
+ "type": "string",
+ "description": "Log events below this threshold are not logged.",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Info",
+ "Warn",
+ "Error",
+ "Fatal",
+ "Off"
+ ],
+ "default": "Off"
+ },
+ "autoShutdown": {
+ "type": "boolean",
+ "description": "Automatically call \u0060LogFactory.Shutdown\u0060 on AppDomain.Unload or AppDomain.ProcessExit",
+ "default": "true"
+ },
+ "extensions": {
+ "type": "array",
+ "description": "Load NLog extension packages for additional targets and layouts",
+ "default": [],
+ "items": {
+ "title": "extension",
+ "type": "object",
+ "description": "",
+ "default": {},
+ "properties": {
+ "assembly": {
+ "type": "string",
+ "description": "Assembly Name of the NLog extension package."
+ },
+ "prefix": {
+ "type": "string",
+ "description": "Appends prefix to all type-names loaded from the assembly",
+ "default": ""
+ },
+ "assemblyFile": {
+ "type": "string",
+ "description": "Absolute filepath to the Assembly-file of the NLog extension package.",
+ "default": ""
+ }
+ }
+ }
+ },
+ "variables": {
+ "title": "variables",
+ "type": "object",
+ "description": "Key-value pair of variables",
+ "propertyNames": {
+ "pattern": "^[A-Za-z0-9_.-]\u002B$"
+ },
+ "patternProperties": {
+ ".*": {
+ "type": [
+ "number",
+ "string",
+ "boolean"
+ ]
+ }
+ }
+ },
+ "targetDefaultWrapper": {
+ "title": "default wrapper",
+ "type": "object",
+ "description": "Wrap all defined targets with this custom target wrapper.",
+ "default": {},
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": ""
+ }
+ }
+ },
+ "targets": {
+ "title": "targets",
+ "type": "object",
+ "description": "",
+ "default": {},
+ "properties": {
+ "async": {
+ "type": "boolean",
+ "description": "Wrap all defined targets using AsyncWrapper with OverflowAction=Discard for better performance."
+ }
+ }
+ },
+ "rules": {
+ "oneOf": [
+ {
+ "type": "array",
+ "description": "",
+ "default": [],
+ "items": {
+ "$ref": "#/definitions/NLogRulesItem"
+ }
+ },
+ {
+ "title": "rules",
+ "type": "object",
+ "propertyNames": {
+ "pattern": "^[0-9]\u002B$"
+ },
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/NLogRulesItem"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "NLogRulesItem": {
+ "title": "NLog rule item",
+ "type": "object",
+ "description": "Redirect LogEvents from matching Logger objects to specified targets",
+ "default": {},
+ "required": [
+ "logger"
+ ],
+ "properties": {
+ "logger": {
+ "type": "string",
+ "description": "Match Logger objects based on their Logger-name. Can use wildcard characters (\u0027*\u0027 or \u0027?\u0027)."
+ },
+ "ruleName": {
+ "type": "string",
+ "description": "Rule identifier to allow rule lookup with Configuration.FindRuleByName and Configuration.RemoveRuleByName."
+ },
+ "level": {
+ "anyOf": [
+ {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Info",
+ "Warn",
+ "Error",
+ "Fatal"
+ ]
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "levels": {
+ "type": "string",
+ "description": "Comma separated list of levels that this rule matches."
+ },
+ "minLevel": {
+ "anyOf": [
+ {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Info",
+ "Warn",
+ "Error",
+ "Fatal"
+ ]
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "maxLevel": {
+ "anyOf": [
+ {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Info",
+ "Warn",
+ "Error",
+ "Fatal"
+ ]
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "finalMinLevel": {
+ "anyOf": [
+ {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Trace",
+ "Debug",
+ "Info",
+ "Warn",
+ "Error",
+ "Fatal"
+ ]
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "writeTo": {
+ "type": "string",
+ "description": "Name or names of a target - separated by comma. Remove this property for sending events to the blackhole."
+ },
+ "final": {
+ "type": "boolean",
+ "description": "Ignore further rules if this one matches.",
+ "default": false
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "",
+ "default": true
+ },
+ "filters": {
+ "oneOf": [
+ {
+ "type": "array",
+ "description": "",
+ "default": [],
+ "items": {
+ "title": "filter",
+ "type": "object",
+ "description": "",
+ "default": {},
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": ""
+ },
+ "action": {
+ "type": "string",
+ "description": "Result action when filter matches logevent.",
+ "enum": [
+ "Neutral",
+ "Log",
+ "Ignore",
+ "LogFinal",
+ "IgnoreFinal"
+ ],
+ "default": "Neutral"
+ }
+ }
+ }
+ },
+ {
+ "title": "filter",
+ "type": "object",
+ "description": "",
+ "default": {}
+ }
+ ]
+ },
+ "filterDefaultAction": {
+ "type": "string",
+ "description": "Default action if none of the filters match.",
+ "enum": [
+ "Neutral",
+ "Log",
+ "Ignore",
+ "LogFinal",
+ "IgnoreFinal"
+ ],
+ "default": "Ignore"
+ }
+ }
+ },
+ "Serilog": {
+ "type": "object",
+ "title": "Serilog appSettings",
+ "description": "Serilog appSettings Configuration",
+ "properties": {
+ "$schema": {
+ "type": "string",
+ "title": "Schema",
+ "description": "Pointer to the schema against which this document should be validated."
+ },
+ "Using": {
+ "type": "array",
+ "title": "List of Auto-discovery of configuration assemblies",
+ "description": "Using section contains list of assemblies in which configuration methods. Can be required depending of the project type: See: https://github.com/serilog/serilog-settings-configuration#using-section-and-auto-discovery-of-configuration-assemblies",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/definitions/Serilog/definitions/AssemblyReference"
+ }
+ },
+ "LevelSwitches": {
+ "type": "object",
+ "patternProperties": {
+ "^(?\u003CSerilogLevelSwitcherName\u003E\\${0,1}[A-Za-z]\u002B[A-Za-z0-9]*)$": {
+ "$ref": "#/definitions/Serilog/definitions/SerilogLogEventLevel"
+ }
+ },
+ "additionalProperties": false
+ },
+ "FilterSwitches": {
+ "type": "object",
+ "patternProperties": {
+ "^(?\u003CSerilogLevelSwitcherName\u003E\\${0,1}[A-Za-z]\u002B[A-Za-z0-9]*)$": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "MinimumLevel": {
+ "type": [
+ "string",
+ "object"
+ ],
+ "title": "Minimum LogLevel Threshold",
+ "description": "Minimum LogLevel Threshold. (Support dynamic reload if the underlying IConfigurationProvider supports it)",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/SerilogLogEventLevel"
+ },
+ {
+ "$ref": "#/definitions/Serilog/definitions/DetailedMinimumLevel"
+ }
+ ]
+ },
+ "Properties": {
+ "type": "object",
+ "title": "Log events Properties",
+ "description": "This section defines a static list of key-value pairs that will enrich log events.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "Enrich": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReference"
+ }
+ ],
+ "title": "Log events Enriches",
+ "description": "This section defines Enriches that will be applied to log events."
+ },
+ "Destructure": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReference"
+ }
+ ],
+ "title": "Log events Destructure",
+ "description": "This section defines Destructure."
+ },
+ "Filter": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReference"
+ }
+ ],
+ "title": "Log events filters",
+ "description": "This section defines filters that will be applied to log events."
+ },
+ "WriteTo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReference"
+ }
+ ],
+ "title": "Configuration for log destination",
+ "description": "This section configures the sinks that log events will be emitted to."
+ },
+ "AuditTo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReference"
+ }
+ ],
+ "title": "Configuration for log destination for auditing",
+ "description": "This section configures sinks for auditing, instead of regular (safe) logging. Obs: When auditing is used, exceptions from sinks and any intermediate filters propagate back to the caller."
+ }
+ },
+ "patternProperties": {
+ "^Enrich:((?\u003CEnvironmentVariableName\u003E[a-zA-Z_]\\w*)|(?\u003CArrayIndex\u003E\\d*))$": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ }
+ ],
+ "title": "Log events Enriches",
+ "description": "This section defines Enriches that will be applied to log events."
+ },
+ "^Destructure:((?\u003CEnvironmentVariableName\u003E[a-zA-Z_]\\w*)|(?\u003CArrayIndex\u003E\\d*))$": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ }
+ ],
+ "title": "Log events Destructure",
+ "description": "This section defines Destructure."
+ },
+ "^Filter:((?\u003CEnvironmentVariableName\u003E[a-zA-Z_]\\w*)|(?\u003CArrayIndex\u003E\\d*))$": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ }
+ ],
+ "title": "Log events filters",
+ "description": "This section defines filters that will be applied to log events."
+ },
+ "^WriteTo:((?\u003CEnvironmentVariableName\u003E[a-zA-Z_]\\w*)|(?\u003CArrayIndex\u003E\\d*))$": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ }
+ ],
+ "title": "Configuration for log destination",
+ "description": "This section configures the sinks that log events will be emitted to."
+ },
+ "^AuditTo:((?\u003CEnvironmentVariableName\u003E[a-zA-Z_]\\w*)|(?\u003CArrayIndex\u003E\\d*))$": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ }
+ ],
+ "title": "Configuration for log destination for auditing",
+ "description": "This section configures sinks for auditing, instead of regular (safe) logging. Obs: When auditing is used, exceptions from sinks and any intermediate filters propagate back to the caller."
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "SerilogLogEventLevel": {
+ "type": "string",
+ "title": "Log level",
+ "description": "Log level threshold.",
+ "enum": [
+ "Verbose",
+ "Debug",
+ "Information",
+ "Warning",
+ "Error",
+ "Fatal",
+ "Off"
+ ]
+ },
+ "LoggingLevelSwitch": {
+ "type": "string",
+ "title": "LevelSwitches name",
+ "description": "Log Level Switch string reference.",
+ "pattern": "^(?\u003CSerilogLevelSwitcherName\u003E\\${0,1}[A-Za-z]\u002B[A-Za-z0-9]*)$"
+ },
+ "SerilogLogLevelThreshold": {
+ "type": "string",
+ "title": "Log Level or LevelSwitches name",
+ "description": "A Serilog Log Level or a reference to a Log Level Switch name on \u0060LevelSwitches\u0060 configuration.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/SerilogLogEventLevel"
+ },
+ {
+ "$ref": "#/definitions/Serilog/definitions/LoggingLevelSwitch"
+ }
+ ]
+ },
+ "DetailedMinimumLevel": {
+ "type": "object",
+ "title": "Detailed Log level.",
+ "description": "Detailed Log level threshold object. Allowing set log levels be overridden per logging source.",
+ "properties": {
+ "Default": {
+ "$ref": "#/definitions/Serilog/definitions/SerilogLogLevelThreshold"
+ },
+ "ControlledBy": {
+ "$ref": "#/definitions/Serilog/definitions/LoggingLevelSwitch"
+ },
+ "Override": {
+ "type": "object",
+ "title": "Logging Source Log level object.",
+ "description": "Set the Log level threshold or LevelSwitcher reference per Logging Source.",
+ "additionalProperties": {
+ "$ref": "#/definitions/Serilog/definitions/SerilogLogLevelThreshold"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "AssemblyReference": {
+ "type": "string",
+ "title": "Assembly Name",
+ "description": ".NET Assembly Name, without the file extension",
+ "minLength": 1,
+ "pattern": "^(?\u003CAssemblyName\u003E\\S\u002B)$"
+ },
+ "ComplexMethodCallReference": {
+ "type": "object",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/Serilog/definitions/CSharpMethodName"
+ },
+ "Args": {
+ "type": "object",
+ "patternProperties": {
+ "^(?\u003CCSharpMethodArgumentName\u003E[a-zA-Z_]\\w*)$": {}
+ },
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Name"
+ ]
+ },
+ "MethodCallReferenceItem": {
+ "type": [
+ "string",
+ "object",
+ "null"
+ ],
+ "oneOf": [
+ {
+ "$ref": "#/definitions/Serilog/definitions/CSharpMethodName"
+ },
+ {
+ "$ref": "#/definitions/Serilog/definitions/ComplexMethodCallReference"
+ }
+ ]
+ },
+ "MethodCallReference": {
+ "type": [
+ "array",
+ "string",
+ "object"
+ ],
+ "minLength": 1,
+ "pattern": "^(?\u003CCSharpMethodName\u003E[a-zA-Z_]\\w*)$",
+ "minItems": 1,
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ },
+ "additionalProperties": {
+ "$ref": "#/definitions/Serilog/definitions/MethodCallReferenceItem"
+ }
+ },
+ "CSharpMethodName": {
+ "type": "string",
+ "title": "Method Name",
+ "description": "A name referring to a C# Class method",
+ "minLength": 1,
+ "pattern": "^(?\u003CCSharpMethodName\u003E[a-zA-Z_]\\w*)$"
+ },
+ "CSharpMethodArgumentName": {
+ "type": "string",
+ "title": "Argument Name",
+ "description": "A name referring to a C# Class method argument",
+ "minLength": 1,
+ "pattern": "^(?\u003CCSharpMethodArgumentName\u003E[a-zA-Z_]\\w*)$"
+ },
+ "EnvironmentVariableName": {
+ "type": "string",
+ "title": "Environment Variable Name",
+ "description": "A name referring to a OS Environment Variable",
+ "minLength": 1,
+ "pattern": "^(?\u003CEnvironmentVariableName\u003E[a-zA-Z_]\\w*)$"
+ },
+ "SerilogLevelSwitcherName": {
+ "type": "string",
+ "title": "A Level Switcher Name",
+ "description": "A name referring to a Serilog Settings Configuration Level Switcher",
+ "minLength": 1,
+ "pattern": "^(?\u003CSerilogLevelSwitcherName\u003E\\${0,1}[A-Za-z]\u002B[A-Za-z0-9]*)$"
+ }
+ }
+ }
+ },
+ "patternProperties": {
+ "^WebOptimizer$": {
+ "$ref": "#/definitions/webOptimizer"
+ },
+ "^webOptimizer$": {
+ "$ref": "#/definitions/webOptimizer"
+ },
+ "^weboptimizer$": {
+ "$ref": "#/definitions/webOptimizer"
+ },
+ "^(cdn|Cdn)$": {
+ "$ref": "#/definitions/cdn"
+ },
+ "^(pwa|PWA|Pwa)$": {
+ "$ref": "#/definitions/pwa"
+ },
+ "^(ElmahIo|Elmahio|elmahIo|elmahio)$": {
+ "$ref": "#/definitions/ElmahIo"
+ },
+ "^(nlog|Nlog|NLog)$": {
+ "$ref": "#/definitions/NLog"
+ },
+ "^(Serilog|serilog)$": {
+ "$ref": "#/definitions/Serilog"
+ }
+ },
+ "properties": {
+ "Kestrel": {
+ "$ref": "#/definitions/kestrel"
+ },
+ "Logging": {
+ "$ref": "#/definitions/logging"
+ },
+ "AllowedHosts": {
+ "$ref": "#/definitions/allowedHosts"
+ },
+ "ConnectionStrings": {
+ "$ref": "#/definitions/connectionStrings"
+ },
+ "AWS": {
+ "description": "Settings for configuring the AWS SDK for .NET",
+ "type": "object",
+ "properties": {
+ "AllowAutoRedirect": {
+ "type": "boolean",
+ "description": "This flag controls if .NET HTTP infrastructure should follow redirection responses (e.g. HTTP 307 - temporary redirect)."
+ },
+ "AuthenticationRegion": {
+ "type": "string",
+ "description": "Overrides the region used when computing AWS signature."
+ },
+ "AuthSchemePreference": {
+ "type": "array",
+ "description": "List of preferred authentication schemes in priority order.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "BufferSize": {
+ "type": "integer",
+ "description": "The BufferSize controls the buffer used to read in from input streams and write out to the request."
+ },
+ "ClientAppId": {
+ "type": "string",
+ "description": "ClientAppId is an optional application specific identifier that can be set. When set it will be appended to the User-Agent header of every request in the form of app/{ClientAppId}."
+ },
+ "ConnectTimeout": {
+ "type": "integer",
+ "description": "The ConnectTimeout property controls the timeout when establishing a connection. The units for the property is milliseconds"
+ },
+ "DefaultsMode": {
+ "enum": [
+ "Standard",
+ "InRegion",
+ "CrossRegion",
+ "Mobile",
+ "Auto"
+ ],
+ "description": "Sets the mode that SDK should use when setting default values for settings."
+ },
+ "DisableHostPrefixInjection": {
+ "type": "boolean",
+ "description": "Host prefix injection prefixes the service endpoint with request members from APIs which use this feature."
+ },
+ "DisableLogging": {
+ "type": "boolean",
+ "description": "If true logging for this client will be disabled."
+ },
+ "DisableRequestCompression": {
+ "type": "boolean",
+ "description": "Controls whether request payloads are automatically compressed for supported operations."
+ },
+ "EndpointDiscoveryCacheLimit": {
+ "type": "integer",
+ "description": "The maximum number of discovered endpoints that can be stored within the cache for the client."
+ },
+ "EndpointDiscoveryEnabled": {
+ "type": "boolean",
+ "description": "The flag indicating if endpoint discovery should be enabled or disabled for operations that are not required to use endpoint discovery."
+ },
+ "FastFailRequests": {
+ "type": "boolean",
+ "description": "Under Adaptive retry mode the SDK will use fail fast logic."
+ },
+ "HttpClientCacheSize": {
+ "type": "integer",
+ "description": "Controls the number of HttpClients cached for service clients."
+ },
+ "IgnoreConfiguredEndpointUrls": {
+ "type": "boolean",
+ "description": "If set to true the SDK will ignore the configured endpointUrls in the config file or in the environment variables."
+ },
+ "LogMetrics": {
+ "type": "boolean",
+ "description": "Flag on whether to log metrics for service calls."
+ },
+ "LogResponse": {
+ "type": "boolean",
+ "description": "If this property is set to true, the service response is logged."
+ },
+ "MaxConnectionsPerServer": {
+ "type": "integer",
+ "description": "This property is used to set the MaxConnectionsPerServer on the matching property on the underlying HttpClient to make service calls."
+ },
+ "MaxErrorRetry": {
+ "type": "integer",
+ "description": "How many retry HTTP requests an SDK should make for a single SDK operation invocation before giving up."
+ },
+ "MaxStaleConnectionRetries": {
+ "type": "integer",
+ "description": "Maximum number of times the SDK will retry requests that fail due to stale pooled HTTP connections."
+ },
+ "Profile": {
+ "type": "string",
+ "description": "The AWS credential profiles the service client should be configured for."
+ },
+ "ProfilesLocation": {
+ "type": "string",
+ "description": "The path to where the AWS credential profile is configured. By default this is configured at ~/.aws/credentials."
+ },
+ "ProgressUpdateInterval": {
+ "type": "number",
+ "description": "The interval at which progress update events are raised for upload operations."
+ },
+ "Region": {
+ "type": "string",
+ "description": "The AWS region the service client should be configured for."
+ },
+ "RequestMinCompressionSizeBytes": {
+ "type": "number",
+ "description": "Minimum size in bytes that a request body should be to trigger compression."
+ },
+ "ResignRetries": {
+ "type": "boolean",
+ "description": "Flag on whether to resign requests on retry or not."
+ },
+ "RetryMode": {
+ "enum": [
+ "Standard",
+ "Adaptive"
+ ],
+ "description": "The current mode in use for request retries and influences the value returned from MaxErrorRetry."
+ },
+ "ServiceURL": {
+ "type": "string",
+ "description": "Overrides the region for the service clients and sends requests to the indicated url."
+ },
+ "SessionName": {
+ "type": "string",
+ "description": "The session name for the assumed session using the SessionRoleArn."
+ },
+ "SessionRoleArn": {
+ "type": "string",
+ "description": "If set this role will be assumed using the resolved AWS credentials."
+ },
+ "SigV4aSigningRegionSet": {
+ "type": "array",
+ "description": "List of AWS regions for SigV4a multi-region signing.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ThrottleRetries": {
+ "type": "boolean",
+ "description": "Enables the SDK to use intelligent throttle retry logic."
+ },
+ "Timeout": {
+ "type": "integer",
+ "description": "The timeout that is set on the HttpClient Timeout for configuring the wait time for requests time out."
+ },
+ "UseAlternateUserAgentHeader": {
+ "type": "boolean",
+ "description": "If true the service client will use the x-amz-user-agent header instead of the User-Agent header to report version and environment information to the AWS service. This is commonly used in Blazor WebAssembly applications."
+ },
+ "UseDualstackEndpoint": {
+ "type": "boolean",
+ "description": "Configures the endpoint calculation for a service to go to a dual stack (ipv6 enabled) endpoint for the configured region."
+ },
+ "UseFIPSEndpoint": {
+ "type": "boolean",
+ "description": "Configures the endpoint calculation to go to a FIPS endpoint for the configured region."
+ },
+ "UseHttp": {
+ "type": "boolean",
+ "description": "If true clients will attempt to use HTTP protocol if the target endpoint supports it."
+ }
+ }
+ },
+ "Aspire": {
+ "type": "object",
+ "properties": {
+ "StackExchange": {
+ "type": "object",
+ "properties": {
+ "Redis": {
+ "type": "object",
+ "properties": {
+ "ConfigurationOptions": {
+ "type": "object",
+ "properties": {
+ "AbortOnConnectFail": {
+ "type": "boolean",
+ "description": "Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException."
+ },
+ "AllowAdmin": {
+ "type": "boolean",
+ "description": "Indicates whether admin operations should be allowed."
+ },
+ "AsyncTimeout": {
+ "type": "integer",
+ "description": "Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout)."
+ },
+ "ChannelPrefix": {
+ "type": "object",
+ "properties": {
+ "UseImplicitAutoPattern": {
+ "type": "boolean",
+ "description": "Indicates whether channels should use \u0027StackExchange.Redis.RedisChannel.PatternMode.Auto\u0027 when no \u0027StackExchange.Redis.RedisChannel.PatternMode\u0027 is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios."
+ }
+ },
+ "description": "Automatically encodes and decodes channels."
+ },
+ "CheckCertificateRevocation": {
+ "type": "boolean",
+ "description": "A Boolean value that specifies whether the certificate revocation list is checked during authentication."
+ },
+ "ClientName": {
+ "type": "string",
+ "description": "The client name to use for all connections."
+ },
+ "ConfigCheckSeconds": {
+ "type": "integer",
+ "description": "Check configuration every n seconds (every minute by default)."
+ },
+ "ConfigurationChannel": {
+ "type": "string",
+ "description": "Channel to use for broadcasting and listening for configuration change notification."
+ },
+ "ConnectRetry": {
+ "type": "integer",
+ "description": "The number of times to repeat the initial connect cycle if no servers respond promptly."
+ },
+ "ConnectTimeout": {
+ "type": "integer",
+ "description": "Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher)."
+ },
+ "DefaultDatabase": {
+ "type": "integer",
+ "description": "Specifies the default database to be used when calling \u0027StackExchange.Redis.ConnectionMultiplexer.GetDatabase(System.Int32,System.Object)\u0027 without any parameters."
+ },
+ "DefaultVersion": {
+ "type": "string",
+ "description": "The server version to assume."
+ },
+ "HeartbeatConsistencyChecks": {
+ "type": "boolean",
+ "description": "Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection."
+ },
+ "HeartbeatInterval": {
+ "type": "string",
+ "pattern": "^-?(\\d{1,7}|((\\d{1,7}[\\.:])?(([01]?\\d|2[0-3]):[0-5]?\\d|([01]?\\d|2[0-3]):[0-5]?\\d:[0-5]?\\d)(\\.\\d{1,7})?))$",
+ "description": "Controls how often the connection heartbeats. A heartbeat includes: - Evaluating if any messages have timed out. - Evaluating connection status (checking for failures). - Sending a server message to keep the connection alive if needed."
+ },
+ "HighIntegrity": {
+ "type": "boolean",
+ "description": "A Boolean value that specifies whether to use per-command validation of strict protocol validity. This sends an additional command after EVERY command which incurs measurable overhead."
+ },
+ "IncludeDetailInExceptions": {
+ "type": "boolean",
+ "description": "Whether exceptions include identifiable details (key names, additional .Data annotations)."
+ },
+ "IncludePerformanceCountersInExceptions": {
+ "type": "boolean",
+ "description": "Whether exceptions include performance counter details."
+ },
+ "KeepAlive": {
+ "type": "integer",
+ "description": "Specifies the time in seconds at which connections should be pinged to ensure validity. -1 Defaults to 60 Seconds."
+ },
+ "LibraryName": {
+ "type": "string",
+ "description": "Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. Defaults to \u0022SE.Redis\u0022."
+ },
+ "Password": {
+ "type": "string",
+ "description": "The password to use to authenticate with the server."
+ },
+ "Protocol": {
+ "enum": [
+ "Resp2",
+ "Resp3"
+ ],
+ "description": "Specify the redis protocol type."
+ },
+ "Proxy": {
+ "enum": [
+ "None",
+ "Twemproxy",
+ "Envoyproxy"
+ ],
+ "description": "Type of proxy to use (if any); for example \u0027StackExchange.Redis.Proxy.Twemproxy\u0027."
+ },
+ "ResolveDns": {
+ "type": "boolean",
+ "description": "Indicates whether endpoints should be resolved via DNS before connecting. If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "The service name used to resolve a service via sentinel."
+ },
+ "SetClientLibrary": {
+ "type": "boolean",
+ "description": "Gets or sets whether the library should identify itself by library-name/version when possible."
+ },
+ "Ssl": {
+ "type": "boolean",
+ "description": "Indicates whether the connection should be encrypted."
+ },
+ "SslHost": {
+ "type": "string",
+ "description": "The target-host to use when validating SSL certificate; setting a value here enables SSL mode."
+ },
+ "SslProtocols": {
+ "enum": [
+ "None",
+ "Ssl2",
+ "Ssl3",
+ "Tls",
+ "Default",
+ "Tls11",
+ "Tls12",
+ "Tls13"
+ ],
+ "description": "Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework."
+ },
+ "SyncTimeout": {
+ "type": "integer",
+ "description": "Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds)."
+ },
+ "TieBreaker": {
+ "type": "string",
+ "description": "Tie-breaker used to choose between primaries (must match the endpoint exactly)."
+ },
+ "User": {
+ "type": "string",
+ "description": "The username to use to authenticate with the server."
+ }
+ },
+ "description": "The options relevant to a set of redis connections."
+ },
+ "ConnectionString": {
+ "type": "string",
+ "description": "Gets or sets the comma-delimited configuration string used to connect to the Redis server."
+ },
+ "DisableAutoActivation": {
+ "type": "boolean",
+ "description": "Gets or sets a boolean value that indicates whether auto activation is disabled or not.",
+ "default": true
+ },
+ "DisableHealthChecks": {
+ "type": "boolean",
+ "description": "Gets or sets a boolean value that indicates whether the Redis health check is disabled or not.",
+ "default": false
+ },
+ "DisableTracing": {
+ "type": "boolean",
+ "description": "Gets or sets a boolean value that indicates whether the OpenTelemetry tracing is disabled or not.",
+ "default": false
+ }
+ },
+ "description": "Provides the client configuration settings for connecting to a Redis server."
+ }
+ }
+ }
+ }
+ }
+ },
+ "title": "JSON schema ASP.NET Core\u0027s appsettings.json file",
+ "type": "object"
+}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/CombinedComponentSchema.json b/Generator/obj/Debug/net8.0/CombinedComponentSchema.json
new file mode 100644
index 00000000..4a4abc4a
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/CombinedComponentSchema.json
@@ -0,0 +1,375 @@
+{
+ "properties": {
+ "AWS": {
+ "description": "Settings for configuring the AWS SDK for .NET",
+ "type": "object",
+ "properties": {
+ "AllowAutoRedirect": {
+ "type": "boolean",
+ "description": "This flag controls if .NET HTTP infrastructure should follow redirection responses (e.g. HTTP 307 - temporary redirect)."
+ },
+ "AuthenticationRegion": {
+ "type": "string",
+ "description": "Overrides the region used when computing AWS signature."
+ },
+ "AuthSchemePreference": {
+ "type": "array",
+ "description": "List of preferred authentication schemes in priority order.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "BufferSize": {
+ "type": "integer",
+ "description": "The BufferSize controls the buffer used to read in from input streams and write out to the request."
+ },
+ "ClientAppId": {
+ "type": "string",
+ "description": "ClientAppId is an optional application specific identifier that can be set. When set it will be appended to the User-Agent header of every request in the form of app/{ClientAppId}."
+ },
+ "ConnectTimeout": {
+ "type": "integer",
+ "description": "The ConnectTimeout property controls the timeout when establishing a connection. The units for the property is milliseconds"
+ },
+ "DefaultsMode": {
+ "enum": [
+ "Standard",
+ "InRegion",
+ "CrossRegion",
+ "Mobile",
+ "Auto"
+ ],
+ "description": "Sets the mode that SDK should use when setting default values for settings."
+ },
+ "DisableHostPrefixInjection": {
+ "type": "boolean",
+ "description": "Host prefix injection prefixes the service endpoint with request members from APIs which use this feature."
+ },
+ "DisableLogging": {
+ "type": "boolean",
+ "description": "If true logging for this client will be disabled."
+ },
+ "DisableRequestCompression": {
+ "type": "boolean",
+ "description": "Controls whether request payloads are automatically compressed for supported operations."
+ },
+ "EndpointDiscoveryCacheLimit": {
+ "type": "integer",
+ "description": "The maximum number of discovered endpoints that can be stored within the cache for the client."
+ },
+ "EndpointDiscoveryEnabled": {
+ "type": "boolean",
+ "description": "The flag indicating if endpoint discovery should be enabled or disabled for operations that are not required to use endpoint discovery."
+ },
+ "FastFailRequests": {
+ "type": "boolean",
+ "description": "Under Adaptive retry mode the SDK will use fail fast logic."
+ },
+ "HttpClientCacheSize": {
+ "type": "integer",
+ "description": "Controls the number of HttpClients cached for service clients."
+ },
+ "IgnoreConfiguredEndpointUrls": {
+ "type": "boolean",
+ "description": "If set to true the SDK will ignore the configured endpointUrls in the config file or in the environment variables."
+ },
+ "LogMetrics": {
+ "type": "boolean",
+ "description": "Flag on whether to log metrics for service calls."
+ },
+ "LogResponse": {
+ "type": "boolean",
+ "description": "If this property is set to true, the service response is logged."
+ },
+ "MaxConnectionsPerServer": {
+ "type": "integer",
+ "description": "This property is used to set the MaxConnectionsPerServer on the matching property on the underlying HttpClient to make service calls."
+ },
+ "MaxErrorRetry": {
+ "type": "integer",
+ "description": "How many retry HTTP requests an SDK should make for a single SDK operation invocation before giving up."
+ },
+ "MaxStaleConnectionRetries": {
+ "type": "integer",
+ "description": "Maximum number of times the SDK will retry requests that fail due to stale pooled HTTP connections."
+ },
+ "Profile": {
+ "type": "string",
+ "description": "The AWS credential profiles the service client should be configured for."
+ },
+ "ProfilesLocation": {
+ "type": "string",
+ "description": "The path to where the AWS credential profile is configured. By default this is configured at ~/.aws/credentials."
+ },
+ "ProgressUpdateInterval": {
+ "type": "number",
+ "description": "The interval at which progress update events are raised for upload operations."
+ },
+ "Region": {
+ "type": "string",
+ "description": "The AWS region the service client should be configured for."
+ },
+ "RequestMinCompressionSizeBytes": {
+ "type": "number",
+ "description": "Minimum size in bytes that a request body should be to trigger compression."
+ },
+ "ResignRetries": {
+ "type": "boolean",
+ "description": "Flag on whether to resign requests on retry or not."
+ },
+ "RetryMode": {
+ "enum": [
+ "Standard",
+ "Adaptive"
+ ],
+ "description": "The current mode in use for request retries and influences the value returned from MaxErrorRetry."
+ },
+ "ServiceURL": {
+ "type": "string",
+ "description": "Overrides the region for the service clients and sends requests to the indicated url."
+ },
+ "SessionName": {
+ "type": "string",
+ "description": "The session name for the assumed session using the SessionRoleArn."
+ },
+ "SessionRoleArn": {
+ "type": "string",
+ "description": "If set this role will be assumed using the resolved AWS credentials."
+ },
+ "SigV4aSigningRegionSet": {
+ "type": "array",
+ "description": "List of AWS regions for SigV4a multi-region signing.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ThrottleRetries": {
+ "type": "boolean",
+ "description": "Enables the SDK to use intelligent throttle retry logic."
+ },
+ "Timeout": {
+ "type": "integer",
+ "description": "The timeout that is set on the HttpClient Timeout for configuring the wait time for requests time out."
+ },
+ "UseAlternateUserAgentHeader": {
+ "type": "boolean",
+ "description": "If true the service client will use the x-amz-user-agent header instead of the User-Agent header to report version and environment information to the AWS service. This is commonly used in Blazor WebAssembly applications."
+ },
+ "UseDualstackEndpoint": {
+ "type": "boolean",
+ "description": "Configures the endpoint calculation for a service to go to a dual stack (ipv6 enabled) endpoint for the configured region."
+ },
+ "UseFIPSEndpoint": {
+ "type": "boolean",
+ "description": "Configures the endpoint calculation to go to a FIPS endpoint for the configured region."
+ },
+ "UseHttp": {
+ "type": "boolean",
+ "description": "If true clients will attempt to use HTTP protocol if the target endpoint supports it."
+ }
+ }
+ },
+ "Aspire": {
+ "type": "object",
+ "properties": {
+ "StackExchange": {
+ "type": "object",
+ "properties": {
+ "Redis": {
+ "type": "object",
+ "properties": {
+ "ConfigurationOptions": {
+ "type": "object",
+ "properties": {
+ "AbortOnConnectFail": {
+ "type": "boolean",
+ "description": "Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException."
+ },
+ "AllowAdmin": {
+ "type": "boolean",
+ "description": "Indicates whether admin operations should be allowed."
+ },
+ "AsyncTimeout": {
+ "type": "integer",
+ "description": "Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout)."
+ },
+ "ChannelPrefix": {
+ "type": "object",
+ "properties": {
+ "UseImplicitAutoPattern": {
+ "type": "boolean",
+ "description": "Indicates whether channels should use \u0027StackExchange.Redis.RedisChannel.PatternMode.Auto\u0027 when no \u0027StackExchange.Redis.RedisChannel.PatternMode\u0027 is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios."
+ }
+ },
+ "description": "Automatically encodes and decodes channels."
+ },
+ "CheckCertificateRevocation": {
+ "type": "boolean",
+ "description": "A Boolean value that specifies whether the certificate revocation list is checked during authentication."
+ },
+ "ClientName": {
+ "type": "string",
+ "description": "The client name to use for all connections."
+ },
+ "ConfigCheckSeconds": {
+ "type": "integer",
+ "description": "Check configuration every n seconds (every minute by default)."
+ },
+ "ConfigurationChannel": {
+ "type": "string",
+ "description": "Channel to use for broadcasting and listening for configuration change notification."
+ },
+ "ConnectRetry": {
+ "type": "integer",
+ "description": "The number of times to repeat the initial connect cycle if no servers respond promptly."
+ },
+ "ConnectTimeout": {
+ "type": "integer",
+ "description": "Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher)."
+ },
+ "DefaultDatabase": {
+ "type": "integer",
+ "description": "Specifies the default database to be used when calling \u0027StackExchange.Redis.ConnectionMultiplexer.GetDatabase(System.Int32,System.Object)\u0027 without any parameters."
+ },
+ "DefaultVersion": {
+ "type": "string",
+ "description": "The server version to assume."
+ },
+ "HeartbeatConsistencyChecks": {
+ "type": "boolean",
+ "description": "Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection."
+ },
+ "HeartbeatInterval": {
+ "type": "string",
+ "pattern": "^-?(\\d{1,7}|((\\d{1,7}[\\.:])?(([01]?\\d|2[0-3]):[0-5]?\\d|([01]?\\d|2[0-3]):[0-5]?\\d:[0-5]?\\d)(\\.\\d{1,7})?))$",
+ "description": "Controls how often the connection heartbeats. A heartbeat includes: - Evaluating if any messages have timed out. - Evaluating connection status (checking for failures). - Sending a server message to keep the connection alive if needed."
+ },
+ "HighIntegrity": {
+ "type": "boolean",
+ "description": "A Boolean value that specifies whether to use per-command validation of strict protocol validity. This sends an additional command after EVERY command which incurs measurable overhead."
+ },
+ "IncludeDetailInExceptions": {
+ "type": "boolean",
+ "description": "Whether exceptions include identifiable details (key names, additional .Data annotations)."
+ },
+ "IncludePerformanceCountersInExceptions": {
+ "type": "boolean",
+ "description": "Whether exceptions include performance counter details."
+ },
+ "KeepAlive": {
+ "type": "integer",
+ "description": "Specifies the time in seconds at which connections should be pinged to ensure validity. -1 Defaults to 60 Seconds."
+ },
+ "LibraryName": {
+ "type": "string",
+ "description": "Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. Defaults to \u0022SE.Redis\u0022."
+ },
+ "Password": {
+ "type": "string",
+ "description": "The password to use to authenticate with the server."
+ },
+ "Protocol": {
+ "enum": [
+ "Resp2",
+ "Resp3"
+ ],
+ "description": "Specify the redis protocol type."
+ },
+ "Proxy": {
+ "enum": [
+ "None",
+ "Twemproxy",
+ "Envoyproxy"
+ ],
+ "description": "Type of proxy to use (if any); for example \u0027StackExchange.Redis.Proxy.Twemproxy\u0027."
+ },
+ "ResolveDns": {
+ "type": "boolean",
+ "description": "Indicates whether endpoints should be resolved via DNS before connecting. If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "The service name used to resolve a service via sentinel."
+ },
+ "SetClientLibrary": {
+ "type": "boolean",
+ "description": "Gets or sets whether the library should identify itself by library-name/version when possible."
+ },
+ "Ssl": {
+ "type": "boolean",
+ "description": "Indicates whether the connection should be encrypted."
+ },
+ "SslHost": {
+ "type": "string",
+ "description": "The target-host to use when validating SSL certificate; setting a value here enables SSL mode."
+ },
+ "SslProtocols": {
+ "enum": [
+ "None",
+ "Ssl2",
+ "Ssl3",
+ "Tls",
+ "Default",
+ "Tls11",
+ "Tls12",
+ "Tls13"
+ ],
+ "description": "Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework."
+ },
+ "SyncTimeout": {
+ "type": "integer",
+ "description": "Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds)."
+ },
+ "TieBreaker": {
+ "type": "string",
+ "description": "Tie-breaker used to choose between primaries (must match the endpoint exactly)."
+ },
+ "User": {
+ "type": "string",
+ "description": "The username to use to authenticate with the server."
+ }
+ },
+ "description": "The options relevant to a set of redis connections."
+ },
+ "ConnectionString": {
+ "type": "string",
+ "description": "Gets or sets the comma-delimited configuration string used to connect to the Redis server."
+ },
+ "DisableAutoActivation": {
+ "type": "boolean",
+ "description": "Gets or sets a boolean value that indicates whether auto activation is disabled or not.",
+ "default": true
+ },
+ "DisableHealthChecks": {
+ "type": "boolean",
+ "description": "Gets or sets a boolean value that indicates whether the Redis health check is disabled or not.",
+ "default": false
+ },
+ "DisableTracing": {
+ "type": "boolean",
+ "description": "Gets or sets a boolean value that indicates whether the OpenTelemetry tracing is disabled or not.",
+ "default": false
+ }
+ },
+ "description": "Provides the client configuration settings for connecting to a Redis server."
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "logLevel": {
+ "properties": {
+ "StackExchange.Redis": {
+ "$ref": "#/definitions/logLevelThreshold"
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis": {
+ "$ref": "#/definitions/logLevelThreshold"
+ }
+ }
+ }
+ },
+ "type": "object",
+ "SourceSegments": "C:\\Users\\CossieMan2000\\.nuget\\packages\\awssdk.extensions.netcore.setup\\4.0.3.33\\ConfigurationSchema.json;C:\\Users\\CossieMan2000\\.nuget\\packages\\aspire.stackexchange.redis\\9.5.2\\ConfigurationSchema.json;C:\\Users\\CossieMan2000\\.nuget\\packages\\aspire.stackexchange.redis.distributedcaching\\9.5.2\\ConfigurationSchema.json"
+}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/EndpointInfo/Generator.OpenApiFiles.cache b/Generator/obj/Debug/net8.0/EndpointInfo/Generator.OpenApiFiles.cache
new file mode 100644
index 00000000..c3b7306a
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/EndpointInfo/Generator.OpenApiFiles.cache
@@ -0,0 +1 @@
+Generator.json
diff --git a/Generator/obj/Debug/net8.0/EndpointInfo/Generator.json b/Generator/obj/Debug/net8.0/EndpointInfo/Generator.json
new file mode 100644
index 00000000..a7a5f02f
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/EndpointInfo/Generator.json
@@ -0,0 +1,99 @@
+{
+ "openapi": "3.0.1",
+ "info": {
+ "title": "Generator",
+ "version": "1.0"
+ },
+ "paths": {
+ "/credit-orders": {
+ "get": {
+ "tags": [
+ "CreditOrder"
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "schema": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/CreditOrderDto"
+ }
+ },
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreditOrderDto"
+ }
+ },
+ "text/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreditOrderDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "CreditOrderDto": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "creditType": {
+ "type": "string",
+ "nullable": true
+ },
+ "requestedSum": {
+ "type": "number",
+ "format": "double"
+ },
+ "monthsDuration": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "interestRate": {
+ "type": "number",
+ "format": "double"
+ },
+ "filingDate": {
+ "type": "string",
+ "format": "date"
+ },
+ "isInsuranceNeeded": {
+ "type": "boolean"
+ },
+ "orderStatus": {
+ "type": "string",
+ "nullable": true
+ },
+ "decisionDate": {
+ "type": "string",
+ "format": "date",
+ "nullable": true
+ },
+ "approvedSum": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/EndpointInfo/Service.Api.OpenApiFiles.cache b/Generator/obj/Debug/net8.0/EndpointInfo/Service.Api.OpenApiFiles.cache
new file mode 100644
index 00000000..ae238c8b
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/EndpointInfo/Service.Api.OpenApiFiles.cache
@@ -0,0 +1 @@
+Service.Api.json
diff --git a/Generator/obj/Debug/net8.0/EndpointInfo/Service.Api.json b/Generator/obj/Debug/net8.0/EndpointInfo/Service.Api.json
new file mode 100644
index 00000000..033373af
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/EndpointInfo/Service.Api.json
@@ -0,0 +1,99 @@
+{
+ "openapi": "3.0.1",
+ "info": {
+ "title": "Service.Api",
+ "version": "1.0"
+ },
+ "paths": {
+ "/credit-orders": {
+ "get": {
+ "tags": [
+ "CreditOrder"
+ ],
+ "parameters": [
+ {
+ "name": "id",
+ "in": "query",
+ "schema": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "$ref": "#/components/schemas/CreditOrderDto"
+ }
+ },
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreditOrderDto"
+ }
+ },
+ "text/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreditOrderDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "CreditOrderDto": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "creditType": {
+ "type": "string",
+ "nullable": true
+ },
+ "requestedSum": {
+ "type": "number",
+ "format": "double"
+ },
+ "monthsDuration": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "interestRate": {
+ "type": "number",
+ "format": "double"
+ },
+ "filingDate": {
+ "type": "string",
+ "format": "date"
+ },
+ "isInsuranceNeeded": {
+ "type": "boolean"
+ },
+ "orderStatus": {
+ "type": "string",
+ "nullable": true
+ },
+ "decisionDate": {
+ "type": "string",
+ "format": "date",
+ "nullable": true
+ },
+ "approvedSum": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/Generator.AssemblyInfo.cs b/Generator/obj/Debug/net8.0/Generator.AssemblyInfo.cs
new file mode 100644
index 00000000..f4983b80
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Generator")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ab23dc15a81d1fb48760fa367a23589a90a8277d")]
+[assembly: System.Reflection.AssemblyProductAttribute("Generator")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Generator")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Создано классом WriteCodeFragment MSBuild.
+
diff --git a/Generator/obj/Debug/net8.0/Generator.AssemblyInfoInputs.cache b/Generator/obj/Debug/net8.0/Generator.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..88b545b0
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+2e4952e46fbbe5d5435f69c8bcabea915483be27f543c84016c45b344176b7cc
diff --git a/Generator/obj/Debug/net8.0/Generator.GeneratedMSBuildEditorConfig.editorconfig b/Generator/obj/Debug/net8.0/Generator.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..810ad4d9
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,21 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb = true
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Generator
+build_property.RootNamespace = Generator
+build_property.ProjectDir = D:\5_year\cloud-development\Generator\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.RazorLangVersion = 8.0
+build_property.SupportLocalizedComponentNames =
+build_property.GenerateRazorMetadataSourceChecksumAttributes =
+build_property.MSBuildProjectDirectory = D:\5_year\cloud-development\Generator
+build_property._RazorSourceGeneratorDebug =
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/Generator/obj/Debug/net8.0/Generator.GlobalUsings.g.cs b/Generator/obj/Debug/net8.0/Generator.GlobalUsings.g.cs
new file mode 100644
index 00000000..025530a2
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.GlobalUsings.g.cs
@@ -0,0 +1,17 @@
+//
+global using global::Microsoft.AspNetCore.Builder;
+global using global::Microsoft.AspNetCore.Hosting;
+global using global::Microsoft.AspNetCore.Http;
+global using global::Microsoft.AspNetCore.Routing;
+global using global::Microsoft.Extensions.Configuration;
+global using global::Microsoft.Extensions.DependencyInjection;
+global using global::Microsoft.Extensions.Hosting;
+global using global::Microsoft.Extensions.Logging;
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Net.Http.Json;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/Generator/obj/Debug/net8.0/Generator.MvcApplicationPartsAssemblyInfo.cache b/Generator/obj/Debug/net8.0/Generator.MvcApplicationPartsAssemblyInfo.cache
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/Generator.MvcApplicationPartsAssemblyInfo.cs b/Generator/obj/Debug/net8.0/Generator.MvcApplicationPartsAssemblyInfo.cs
new file mode 100644
index 00000000..287f95dc
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.MvcApplicationPartsAssemblyInfo.cs
@@ -0,0 +1,17 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
+
+// Создано классом WriteCodeFragment MSBuild.
+
diff --git a/Generator/obj/Debug/net8.0/Generator.assets.cache b/Generator/obj/Debug/net8.0/Generator.assets.cache
new file mode 100644
index 00000000..1cdf6670
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Generator.assets.cache differ
diff --git a/Generator/obj/Debug/net8.0/Generator.csproj.AssemblyReference.cache b/Generator/obj/Debug/net8.0/Generator.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..1b574a1e
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Generator.csproj.AssemblyReference.cache differ
diff --git a/Generator/obj/Debug/net8.0/Generator.csproj.BuildWithSkipAnalyzers b/Generator/obj/Debug/net8.0/Generator.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/Generator.csproj.CoreCompileInputs.cache b/Generator/obj/Debug/net8.0/Generator.csproj.CoreCompileInputs.cache
new file mode 100644
index 00000000..ec19e008
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+8ec32d2e92ad0b74db10f5501bb9b279573cd0f2430be764a92e61f0cc311d94
diff --git a/Generator/obj/Debug/net8.0/Generator.csproj.FileListAbsolute.txt b/Generator/obj/Debug/net8.0/Generator.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..17fa070d
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.csproj.FileListAbsolute.txt
@@ -0,0 +1,90 @@
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\appsettings.Development.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\appsettings.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Generator.staticwebassets.endpoints.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Generator.exe
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Generator.deps.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Generator.runtimeconfig.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Generator.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Generator.pdb
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Aspire.StackExchange.Redis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Aspire.StackExchange.Redis.DistributedCaching.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\HealthChecks.Redis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\AWSSDK.Core.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\AWSSDK.SQS.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Bogus.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Google.Protobuf.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Grpc.Core.Api.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Grpc.Net.Client.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Grpc.Net.Common.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.AmbientMetadata.Application.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Caching.StackExchangeRedis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Compliance.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Binder.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.AutoActivation.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.HealthChecks.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Features.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Hosting.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Http.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Http.Diagnostics.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Http.Resilience.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Logging.Configuration.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.ObjectPool.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Options.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Resilience.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.ServiceDiscovery.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.ServiceDiscovery.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Telemetry.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Telemetry.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.OpenApi.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Api.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Api.ProviderBuilderExtensions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Exporter.OpenTelemetryProtocol.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Extensions.Hosting.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Instrumentation.AspNetCore.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Instrumentation.Http.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Instrumentation.Runtime.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Pipelines.Sockets.Unofficial.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Polly.Core.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Polly.Extensions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Polly.RateLimiting.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\StackExchange.Redis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Swashbuckle.AspNetCore.Swagger.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerGen.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerUI.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\CloudDevelopment.ServiceDefaults.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\CloudDevelopment.ServiceDefaults.pdb
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.csproj.AssemblyReference.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rpswa.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.GeneratedMSBuildEditorConfig.editorconfig
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.AssemblyInfoInputs.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.AssemblyInfo.cs
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.csproj.CoreCompileInputs.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.MvcApplicationPartsAssemblyInfo.cs
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.MvcApplicationPartsAssemblyInfo.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.sourcelink.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rjimswa.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rjsmrazor.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rjsmcshtml.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\scopedcss\bundle\Generator.styles.css
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.build.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.build.json.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.development.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.build.endpoints.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.csproj.Up2Date
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.dll
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\refint\Generator.dll
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.pdb
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Generator.genruntimeconfig.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\ref\Generator.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\CloudDevelopment.Contracts.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\CloudDevelopment.Contracts.pdb
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.upToDateCheck.txt
diff --git a/Generator/obj/Debug/net8.0/Generator.csproj.Up2Date b/Generator/obj/Debug/net8.0/Generator.csproj.Up2Date
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/Generator.dll b/Generator/obj/Debug/net8.0/Generator.dll
new file mode 100644
index 00000000..c5fe8cfe
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Generator.dll differ
diff --git a/Generator/obj/Debug/net8.0/Generator.genruntimeconfig.cache b/Generator/obj/Debug/net8.0/Generator.genruntimeconfig.cache
new file mode 100644
index 00000000..327a68ad
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.genruntimeconfig.cache
@@ -0,0 +1 @@
+54c4460028e10741df4557f268b52422862076d666c7ac74d1d9e817fecee969
diff --git a/Generator/obj/Debug/net8.0/Generator.pdb b/Generator/obj/Debug/net8.0/Generator.pdb
new file mode 100644
index 00000000..d044a359
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Generator.pdb differ
diff --git a/Generator/obj/Debug/net8.0/Generator.sourcelink.json b/Generator/obj/Debug/net8.0/Generator.sourcelink.json
new file mode 100644
index 00000000..b73ef568
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Generator.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"D:\\5_year\\cloud-development\\*":"https://raw.githubusercontent.com/acebiscuits/cloud-development/ab23dc15a81d1fb48760fa367a23589a90a8277d/*"}}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/Service..E3E86275.Up2Date b/Generator/obj/Debug/net8.0/Service..E3E86275.Up2Date
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/Service.Api.AssemblyInfo.cs b/Generator/obj/Debug/net8.0/Service.Api.AssemblyInfo.cs
new file mode 100644
index 00000000..81f038ac
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Service.Api")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+217b648e239082e4d0a9c4d9bedbbf87d988f2e9")]
+[assembly: System.Reflection.AssemblyProductAttribute("Service.Api")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Service.Api")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Создано классом WriteCodeFragment MSBuild.
+
diff --git a/Generator/obj/Debug/net8.0/Service.Api.AssemblyInfoInputs.cache b/Generator/obj/Debug/net8.0/Service.Api.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..faee3a81
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+f2a153ab1b02c10258641893a926022715720dea73c77fe8d67638ec88512896
diff --git a/Generator/obj/Debug/net8.0/Service.Api.GeneratedMSBuildEditorConfig.editorconfig b/Generator/obj/Debug/net8.0/Service.Api.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..1eca5c39
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,21 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb = true
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Service.Api
+build_property.RootNamespace = Service.Api
+build_property.ProjectDir = D:\5_year\cloud-development\Generator\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.RazorLangVersion = 8.0
+build_property.SupportLocalizedComponentNames =
+build_property.GenerateRazorMetadataSourceChecksumAttributes =
+build_property.MSBuildProjectDirectory = D:\5_year\cloud-development\Generator
+build_property._RazorSourceGeneratorDebug =
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/Generator/obj/Debug/net8.0/Service.Api.GlobalUsings.g.cs b/Generator/obj/Debug/net8.0/Service.Api.GlobalUsings.g.cs
new file mode 100644
index 00000000..025530a2
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.GlobalUsings.g.cs
@@ -0,0 +1,17 @@
+//
+global using global::Microsoft.AspNetCore.Builder;
+global using global::Microsoft.AspNetCore.Hosting;
+global using global::Microsoft.AspNetCore.Http;
+global using global::Microsoft.AspNetCore.Routing;
+global using global::Microsoft.Extensions.Configuration;
+global using global::Microsoft.Extensions.DependencyInjection;
+global using global::Microsoft.Extensions.Hosting;
+global using global::Microsoft.Extensions.Logging;
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Net.Http.Json;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/Generator/obj/Debug/net8.0/Service.Api.MvcApplicationPartsAssemblyInfo.cache b/Generator/obj/Debug/net8.0/Service.Api.MvcApplicationPartsAssemblyInfo.cache
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/Service.Api.MvcApplicationPartsAssemblyInfo.cs b/Generator/obj/Debug/net8.0/Service.Api.MvcApplicationPartsAssemblyInfo.cs
new file mode 100644
index 00000000..98609e53
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.MvcApplicationPartsAssemblyInfo.cs
@@ -0,0 +1,16 @@
+//------------------------------------------------------------------------------
+//
+// 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.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
+
+// Создано классом WriteCodeFragment MSBuild.
+
diff --git a/Generator/obj/Debug/net8.0/Service.Api.assets.cache b/Generator/obj/Debug/net8.0/Service.Api.assets.cache
new file mode 100644
index 00000000..addd5dfe
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Service.Api.assets.cache differ
diff --git a/Generator/obj/Debug/net8.0/Service.Api.csproj.AssemblyReference.cache b/Generator/obj/Debug/net8.0/Service.Api.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..be4ba8a0
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Service.Api.csproj.AssemblyReference.cache differ
diff --git a/Generator/obj/Debug/net8.0/Service.Api.csproj.BuildWithSkipAnalyzers b/Generator/obj/Debug/net8.0/Service.Api.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/Service.Api.csproj.CoreCompileInputs.cache b/Generator/obj/Debug/net8.0/Service.Api.csproj.CoreCompileInputs.cache
new file mode 100644
index 00000000..7521a37c
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+7ce347a9ba2edb88db646b50ccbef7972836428a838c3c0c6be2aec8f2db43ff
diff --git a/Generator/obj/Debug/net8.0/Service.Api.csproj.FileListAbsolute.txt b/Generator/obj/Debug/net8.0/Service.Api.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..471bd08c
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.csproj.FileListAbsolute.txt
@@ -0,0 +1,91 @@
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.csproj.AssemblyReference.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rpswa.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.GeneratedMSBuildEditorConfig.editorconfig
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.AssemblyInfoInputs.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.AssemblyInfo.cs
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.csproj.CoreCompileInputs.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.MvcApplicationPartsAssemblyInfo.cs
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.MvcApplicationPartsAssemblyInfo.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.sourcelink.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\appsettings.Development.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\appsettings.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Service.Api.staticwebassets.endpoints.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Service.Api.exe
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Service.Api.deps.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Service.Api.runtimeconfig.json
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Service.Api.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Service.Api.pdb
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Aspire.StackExchange.Redis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Aspire.StackExchange.Redis.DistributedCaching.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\HealthChecks.Redis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\AWSSDK.Core.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\AWSSDK.Extensions.NETCore.Setup.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\AWSSDK.SQS.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Bogus.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Google.Protobuf.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Grpc.Core.Api.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Grpc.Net.Client.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Grpc.Net.Common.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.AmbientMetadata.Application.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Caching.StackExchangeRedis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Compliance.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Configuration.Binder.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.DependencyInjection.AutoActivation.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.HealthChecks.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Features.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Hosting.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Http.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Http.Diagnostics.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Http.Resilience.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Logging.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Logging.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Logging.Configuration.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.ObjectPool.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Options.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Resilience.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.ServiceDiscovery.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.ServiceDiscovery.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Telemetry.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.Extensions.Telemetry.Abstractions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Microsoft.OpenApi.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Api.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Api.ProviderBuilderExtensions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Exporter.OpenTelemetryProtocol.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Extensions.Hosting.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Instrumentation.AspNetCore.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Instrumentation.Http.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\OpenTelemetry.Instrumentation.Runtime.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Pipelines.Sockets.Unofficial.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Polly.Core.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Polly.Extensions.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Polly.RateLimiting.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\StackExchange.Redis.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Swashbuckle.AspNetCore.Swagger.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerGen.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerUI.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\CloudDevelopment.ServiceDefaults.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\CloudDevelopment.ServiceDefaults.pdb
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rjimswa.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rjsmrazor.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\rjsmcshtml.dswa.cache.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\scopedcss\bundle\Service.Api.styles.css
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.build.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.build.json.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.development.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.build.endpoints.json
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service..E3E86275.Up2Date
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.dll
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\refint\Service.Api.dll
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.pdb
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\Service.Api.genruntimeconfig.cache
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\ref\Service.Api.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\LocalStack.Client.dll
+D:\5_year\cloud-development\Generator\bin\Debug\net8.0\LocalStack.Client.Extensions.dll
+D:\5_year\cloud-development\Generator\obj\Debug\net8.0\staticwebassets.upToDateCheck.txt
diff --git a/Generator/obj/Debug/net8.0/Service.Api.dll b/Generator/obj/Debug/net8.0/Service.Api.dll
new file mode 100644
index 00000000..12c0f94c
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Service.Api.dll differ
diff --git a/Generator/obj/Debug/net8.0/Service.Api.genruntimeconfig.cache b/Generator/obj/Debug/net8.0/Service.Api.genruntimeconfig.cache
new file mode 100644
index 00000000..327a68ad
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.genruntimeconfig.cache
@@ -0,0 +1 @@
+54c4460028e10741df4557f268b52422862076d666c7ac74d1d9e817fecee969
diff --git a/Generator/obj/Debug/net8.0/Service.Api.pdb b/Generator/obj/Debug/net8.0/Service.Api.pdb
new file mode 100644
index 00000000..a27a3971
Binary files /dev/null and b/Generator/obj/Debug/net8.0/Service.Api.pdb differ
diff --git a/Generator/obj/Debug/net8.0/Service.Api.sourcelink.json b/Generator/obj/Debug/net8.0/Service.Api.sourcelink.json
new file mode 100644
index 00000000..47b87754
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/Service.Api.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"D:\\5_year\\cloud-development\\*":"https://raw.githubusercontent.com/acebiscuits/cloud-development/217b648e239082e4d0a9c4d9bedbbf87d988f2e9/*"}}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/apphost.exe b/Generator/obj/Debug/net8.0/apphost.exe
new file mode 100644
index 00000000..a7e2f4d4
Binary files /dev/null and b/Generator/obj/Debug/net8.0/apphost.exe differ
diff --git a/Generator/obj/Debug/net8.0/ref/Generator.dll b/Generator/obj/Debug/net8.0/ref/Generator.dll
new file mode 100644
index 00000000..cf6aef51
Binary files /dev/null and b/Generator/obj/Debug/net8.0/ref/Generator.dll differ
diff --git a/Generator/obj/Debug/net8.0/ref/Service.Api.dll b/Generator/obj/Debug/net8.0/ref/Service.Api.dll
new file mode 100644
index 00000000..f3868a72
Binary files /dev/null and b/Generator/obj/Debug/net8.0/ref/Service.Api.dll differ
diff --git a/Generator/obj/Debug/net8.0/refint/Generator.dll b/Generator/obj/Debug/net8.0/refint/Generator.dll
new file mode 100644
index 00000000..cf6aef51
Binary files /dev/null and b/Generator/obj/Debug/net8.0/refint/Generator.dll differ
diff --git a/Generator/obj/Debug/net8.0/refint/Service.Api.dll b/Generator/obj/Debug/net8.0/refint/Service.Api.dll
new file mode 100644
index 00000000..f3868a72
Binary files /dev/null and b/Generator/obj/Debug/net8.0/refint/Service.Api.dll differ
diff --git a/Generator/obj/Debug/net8.0/rjsmcshtml.dswa.cache.json b/Generator/obj/Debug/net8.0/rjsmcshtml.dswa.cache.json
new file mode 100644
index 00000000..320cfe83
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/rjsmcshtml.dswa.cache.json
@@ -0,0 +1 @@
+{"GlobalPropertiesHash":"W8oeNcMviD46dDnYflyhC92AahJHFBok6hXChjpEG2o=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["/n6WyXEANWwMOqmZyRzunO5Vlg8QyEI0xmEhgQT99wQ=","VMks456YEhQR41/oK5RDhOSqWYn6\u002BaoZ2JjZ/0lmcCI=","0hMd6ThHzoOqLgbSnuJMwNHJ4HrhY3ZF818rVHyNPLM=","OEXSsNxSswfsh62yejKFgh7st9UXGIqZjrf6SEUpXoM="],"CachedAssets":{},"CachedCopyCandidates":{}}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/rjsmrazor.dswa.cache.json b/Generator/obj/Debug/net8.0/rjsmrazor.dswa.cache.json
new file mode 100644
index 00000000..540800fc
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/rjsmrazor.dswa.cache.json
@@ -0,0 +1 @@
+{"GlobalPropertiesHash":"zwXF9OADOqf6UNmLbAW97bew704jrWjYGBz74zce3R8=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["/n6WyXEANWwMOqmZyRzunO5Vlg8QyEI0xmEhgQT99wQ=","VMks456YEhQR41/oK5RDhOSqWYn6\u002BaoZ2JjZ/0lmcCI=","0hMd6ThHzoOqLgbSnuJMwNHJ4HrhY3ZF818rVHyNPLM=","OEXSsNxSswfsh62yejKFgh7st9UXGIqZjrf6SEUpXoM="],"CachedAssets":{},"CachedCopyCandidates":{}}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/rpswa.dswa.cache.json b/Generator/obj/Debug/net8.0/rpswa.dswa.cache.json
new file mode 100644
index 00000000..3b4bc595
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/rpswa.dswa.cache.json
@@ -0,0 +1 @@
+{"GlobalPropertiesHash":"PgBek46W7bTiHk5+z90T36G7MuRUa1JQ9q73q8cug7I=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["/n6WyXEANWwMOqmZyRzunO5Vlg8QyEI0xmEhgQT99wQ=","VMks456YEhQR41/oK5RDhOSqWYn6\u002BaoZ2JjZ/0lmcCI="],"CachedAssets":{},"CachedCopyCandidates":{}}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/staticwebassets.build.endpoints.json b/Generator/obj/Debug/net8.0/staticwebassets.build.endpoints.json
new file mode 100644
index 00000000..5576e889
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/staticwebassets.build.endpoints.json
@@ -0,0 +1 @@
+{"Version":1,"ManifestType":"Build","Endpoints":[]}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/staticwebassets.build.json b/Generator/obj/Debug/net8.0/staticwebassets.build.json
new file mode 100644
index 00000000..d87c5383
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/staticwebassets.build.json
@@ -0,0 +1 @@
+{"Version":1,"Hash":"XcATnWOGGDct12H1QyIDq7ZdFYfucVRtQqY0Q+myYic=","Source":"Service.Api","BasePath":"_content/Service.Api","Mode":"Default","ManifestType":"Build","ReferencedProjectsConfiguration":[],"DiscoveryPatterns":[],"Assets":[],"Endpoints":[]}
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/staticwebassets.build.json.cache b/Generator/obj/Debug/net8.0/staticwebassets.build.json.cache
new file mode 100644
index 00000000..4eae2e47
--- /dev/null
+++ b/Generator/obj/Debug/net8.0/staticwebassets.build.json.cache
@@ -0,0 +1 @@
+XcATnWOGGDct12H1QyIDq7ZdFYfucVRtQqY0Q+myYic=
\ No newline at end of file
diff --git a/Generator/obj/Debug/net8.0/staticwebassets.references.upToDateCheck.txt b/Generator/obj/Debug/net8.0/staticwebassets.references.upToDateCheck.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Debug/net8.0/staticwebassets.removed.txt b/Generator/obj/Debug/net8.0/staticwebassets.removed.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/Generator/obj/Generator.csproj.nuget.dgspec.json b/Generator/obj/Generator.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..d29d76f8
--- /dev/null
+++ b/Generator/obj/Generator.csproj.nuget.dgspec.json
@@ -0,0 +1,196 @@
+{
+ "format": 1,
+ "restore": {
+ "D:\\5_year\\cloud-development\\Generator\\Generator.csproj": {}
+ },
+ "projects": {
+ "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj",
+ "projectName": "CloudDevelopment.ServiceDefaults",
+ "projectPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj",
+ "packagesPath": "C:\\Users\\CossieMan2000\\.nuget\\packages\\",
+ "outputPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\CossieMan2000\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Http.Resilience": {
+ "target": "Package",
+ "version": "[9.9.0, )"
+ },
+ "Microsoft.Extensions.ServiceDiscovery": {
+ "target": "Package",
+ "version": "[9.5.0, )"
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.AspNetCore.App": {
+ "privateAssets": "none"
+ },
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "D:\\5_year\\cloud-development\\Generator\\Generator.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\5_year\\cloud-development\\Generator\\Generator.csproj",
+ "projectName": "Generator",
+ "projectPath": "D:\\5_year\\cloud-development\\Generator\\Generator.csproj",
+ "packagesPath": "C:\\Users\\CossieMan2000\\.nuget\\packages\\",
+ "outputPath": "D:\\5_year\\cloud-development\\Generator\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\CossieMan2000\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj": {
+ "projectPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "AWSSDK.SQS": {
+ "target": "Package",
+ "version": "[4.0.2.25, )"
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching": {
+ "target": "Package",
+ "version": "[9.5.2, )"
+ },
+ "Bogus": {
+ "target": "Package",
+ "version": "[35.6.5, )"
+ },
+ "Swashbuckle.AspNetCore": {
+ "target": "Package",
+ "version": "[6.6.2, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.AspNetCore.App": {
+ "privateAssets": "none"
+ },
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/obj/Generator.csproj.nuget.g.props b/Generator/obj/Generator.csproj.nuget.g.props
new file mode 100644
index 00000000..2ceee9f1
--- /dev/null
+++ b/Generator/obj/Generator.csproj.nuget.g.props
@@ -0,0 +1,26 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\CossieMan2000\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.14.2
+
+
+
+
+
+
+
+
+
+
+
+ C:\Users\CossieMan2000\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5
+ C:\Users\CossieMan2000\.nuget\packages\awssdk.core\4.0.3.29
+ C:\Users\CossieMan2000\.nuget\packages\awssdk.sqs\4.0.2.25
+
+
\ No newline at end of file
diff --git a/Generator/obj/Generator.csproj.nuget.g.targets b/Generator/obj/Generator.csproj.nuget.g.targets
new file mode 100644
index 00000000..52153d4c
--- /dev/null
+++ b/Generator/obj/Generator.csproj.nuget.g.targets
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Generator/obj/Service.Api.csproj.nuget.dgspec.json b/Generator/obj/Service.Api.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..232267a1
--- /dev/null
+++ b/Generator/obj/Service.Api.csproj.nuget.dgspec.json
@@ -0,0 +1,208 @@
+{
+ "format": 1,
+ "restore": {
+ "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj": {}
+ },
+ "projects": {
+ "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj",
+ "projectName": "CloudDevelopment.ServiceDefaults",
+ "projectPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj",
+ "packagesPath": "C:\\Users\\CossieMan2000\\.nuget\\packages\\",
+ "outputPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\CossieMan2000\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Http.Resilience": {
+ "target": "Package",
+ "version": "[9.9.0, )"
+ },
+ "Microsoft.Extensions.ServiceDiscovery": {
+ "target": "Package",
+ "version": "[9.5.0, )"
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "target": "Package",
+ "version": "[1.9.0, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.AspNetCore.App": {
+ "privateAssets": "none"
+ },
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj",
+ "projectName": "Service.Api",
+ "projectPath": "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj",
+ "packagesPath": "C:\\Users\\CossieMan2000\\.nuget\\packages\\",
+ "outputPath": "D:\\5_year\\cloud-development\\Generator\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\CossieMan2000\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj": {
+ "projectPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "AWSSDK.Extensions.NETCore.Setup": {
+ "target": "Package",
+ "version": "[4.0.3.33, )"
+ },
+ "AWSSDK.SQS": {
+ "target": "Package",
+ "version": "[4.0.2.15, )"
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching": {
+ "target": "Package",
+ "version": "[9.5.2, )"
+ },
+ "Bogus": {
+ "target": "Package",
+ "version": "[35.6.5, )"
+ },
+ "LocalStack.Client": {
+ "target": "Package",
+ "version": "[2.0.0, )"
+ },
+ "LocalStack.Client.Extensions": {
+ "target": "Package",
+ "version": "[2.0.0, )"
+ },
+ "Swashbuckle.AspNetCore": {
+ "target": "Package",
+ "version": "[6.6.2, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.AspNetCore.App": {
+ "privateAssets": "none"
+ },
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/obj/Service.Api.csproj.nuget.g.props b/Generator/obj/Service.Api.csproj.nuget.g.props
new file mode 100644
index 00000000..d302dbd0
--- /dev/null
+++ b/Generator/obj/Service.Api.csproj.nuget.g.props
@@ -0,0 +1,26 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\CossieMan2000\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.14.2
+
+
+
+
+
+
+
+
+
+
+
+ C:\Users\CossieMan2000\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5
+ C:\Users\CossieMan2000\.nuget\packages\awssdk.core\4.0.3.29
+ C:\Users\CossieMan2000\.nuget\packages\awssdk.sqs\4.0.2.15
+
+
\ No newline at end of file
diff --git a/Generator/obj/Service.Api.csproj.nuget.g.targets b/Generator/obj/Service.Api.csproj.nuget.g.targets
new file mode 100644
index 00000000..c3dd5c07
--- /dev/null
+++ b/Generator/obj/Service.Api.csproj.nuget.g.targets
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Generator/obj/project.assets.json b/Generator/obj/project.assets.json
new file mode 100644
index 00000000..d1c206db
--- /dev/null
+++ b/Generator/obj/project.assets.json
@@ -0,0 +1,3386 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {
+ "Aspire.StackExchange.Redis/9.5.2": {
+ "type": "package",
+ "dependencies": {
+ "AspNetCore.HealthChecks.Redis": "9.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "compile": {
+ "lib/net8.0/Aspire.StackExchange.Redis.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Aspire.StackExchange.Redis.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Aspire.StackExchange.Redis.targets": {}
+ }
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching/9.5.2": {
+ "type": "package",
+ "dependencies": {
+ "AspNetCore.HealthChecks.Redis": "9.0.0",
+ "Aspire.StackExchange.Redis": "9.5.2",
+ "Microsoft.Extensions.Caching.StackExchangeRedis": "8.0.20",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "StackExchange.Redis": "2.9.11"
+ },
+ "compile": {
+ "lib/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Aspire.StackExchange.Redis.DistributedCaching.targets": {}
+ }
+ },
+ "AspNetCore.HealthChecks.Redis/9.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.11",
+ "StackExchange.Redis": "2.7.4"
+ },
+ "compile": {
+ "lib/net8.0/HealthChecks.Redis.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/HealthChecks.Redis.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "AWSSDK.Core/4.0.3.29": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/AWSSDK.Core.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/AWSSDK.Core.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "AWSSDK.Extensions.NETCore.Setup/4.0.3.33": {
+ "type": "package",
+ "dependencies": {
+ "AWSSDK.Core": "4.0.3.29",
+ "Microsoft.Extensions.Configuration.Abstractions": "2.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "2.0.0"
+ },
+ "compile": {
+ "lib/net8.0/AWSSDK.Extensions.NETCore.Setup.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/AWSSDK.Extensions.NETCore.Setup.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/AWSSDK.Extensions.NETCore.Setup.targets": {}
+ }
+ },
+ "AWSSDK.SQS/4.0.2.15": {
+ "type": "package",
+ "dependencies": {
+ "AWSSDK.Core": "[4.0.3.15, 5.0.0)"
+ },
+ "compile": {
+ "lib/net8.0/AWSSDK.SQS.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/AWSSDK.SQS.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Bogus/35.6.5": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/Bogus.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Bogus.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Google.Protobuf/3.22.5": {
+ "type": "package",
+ "compile": {
+ "lib/net5.0/Google.Protobuf.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net5.0/Google.Protobuf.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Grpc.Core.Api/2.52.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Memory": "4.5.3"
+ },
+ "compile": {
+ "lib/netstandard2.1/Grpc.Core.Api.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/netstandard2.1/Grpc.Core.Api.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Grpc.Net.Client/2.52.0": {
+ "type": "package",
+ "dependencies": {
+ "Grpc.Net.Common": "2.52.0",
+ "Microsoft.Extensions.Logging.Abstractions": "3.0.3"
+ },
+ "compile": {
+ "lib/net7.0/Grpc.Net.Client.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net7.0/Grpc.Net.Client.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Grpc.Net.Common/2.52.0": {
+ "type": "package",
+ "dependencies": {
+ "Grpc.Core.Api": "2.52.0"
+ },
+ "compile": {
+ "lib/net7.0/Grpc.Net.Common.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net7.0/Grpc.Net.Common.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "LocalStack.Client/2.0.0": {
+ "type": "package",
+ "dependencies": {
+ "AWSSDK.Core": "4.0.0.15"
+ },
+ "compile": {
+ "lib/net8.0/LocalStack.Client.dll": {}
+ },
+ "runtime": {
+ "lib/net8.0/LocalStack.Client.dll": {}
+ }
+ },
+ "LocalStack.Client.Extensions/2.0.0": {
+ "type": "package",
+ "dependencies": {
+ "AWSSDK.Extensions.NETCore.Setup": "4.0.2",
+ "LocalStack.Client": "2.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "3.1.32",
+ "Microsoft.Extensions.Configuration.Binder": "3.1.32",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "3.1.32",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "3.1.32"
+ },
+ "compile": {
+ "lib/net8.0/LocalStack.Client.Extensions.dll": {}
+ },
+ "runtime": {
+ "lib/net8.0/LocalStack.Client.Extensions.dll": {}
+ }
+ },
+ "Microsoft.Extensions.AmbientMetadata.Application/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
+ "type": "package",
+ "build": {
+ "build/Microsoft.Extensions.ApiDescription.Server.props": {},
+ "build/Microsoft.Extensions.ApiDescription.Server.targets": {}
+ },
+ "buildMultiTargeting": {
+ "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {},
+ "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis/8.0.20": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "StackExchange.Redis": "2.7.27"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Compliance.Abstractions/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.ObjectPool": "8.0.20"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Configuration/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder/8.0.2": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.AutoActivation/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Diagnostics/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.20": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "8.0.20",
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.20": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Features/8.0.20": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Features.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Features.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.1",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Http/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Diagnostics": "8.0.1",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Http.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Http.Diagnostics/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Http": "8.0.1",
+ "Microsoft.Extensions.Telemetry": "9.9.0",
+ "System.IO.Pipelines": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Http.Diagnostics.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.Diagnostics.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Http.Resilience/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Http.Diagnostics": "9.9.0",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Resilience": "9.9.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Http.Resilience.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Http.Resilience.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Microsoft.Extensions.Http.Resilience.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.3": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration/8.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.ObjectPool/8.0.20": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.ObjectPool.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ObjectPool.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Options": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Resilience/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics": "8.0.1",
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "9.9.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
+ "Microsoft.Extensions.Telemetry.Abstractions": "9.9.0",
+ "Polly.Extensions": "8.4.2",
+ "Polly.RateLimiting": "8.4.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Resilience.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Resilience.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.ServiceDiscovery/9.5.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Features": "8.0.20",
+ "Microsoft.Extensions.Http": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0",
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions": "9.5.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions/9.5.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.2",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Features": "8.0.20",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Telemetry/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.AmbientMetadata.Application": "9.9.0",
+ "Microsoft.Extensions.DependencyInjection.AutoActivation": "9.9.0",
+ "Microsoft.Extensions.Logging.Configuration": "8.0.1",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Telemetry.Abstractions": "9.9.0"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Telemetry.Abstractions/9.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Compliance.Abstractions": "9.9.0",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.ObjectPool": "8.0.20",
+ "Microsoft.Extensions.Options": "8.0.2"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Microsoft.Extensions.Telemetry.Abstractions.props": {},
+ "buildTransitive/net8.0/Microsoft.Extensions.Telemetry.Abstractions.targets": {}
+ }
+ },
+ "Microsoft.OpenApi/1.6.14": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard2.0/Microsoft.OpenApi.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/netstandard2.0/Microsoft.OpenApi.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "OpenTelemetry/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "8.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.9.0"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "OpenTelemetry.Api/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "System.Diagnostics.DiagnosticSource": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.Api.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Api.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "OpenTelemetry.Api": "1.9.0"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Google.Protobuf": "[3.22.5, 4.0.0)",
+ "Grpc.Net.Client": "[2.52.0, 3.0.0)",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.1",
+ "OpenTelemetry": "1.9.0"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
+ "OpenTelemetry": "1.9.0"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.Extensions.Hosting.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Extensions.Hosting.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.9.0, 2.0.0)"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll": {
+ "related": ".xml"
+ }
+ },
+ "frameworkReferences": [
+ "Microsoft.AspNetCore.App"
+ ]
+ },
+ "OpenTelemetry.Instrumentation.Http/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Options": "8.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.9.0, 2.0.0)"
+ },
+ "compile": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime/1.9.0": {
+ "type": "package",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.9.0, 2.0.0)"
+ },
+ "compile": {
+ "lib/net6.0/OpenTelemetry.Instrumentation.Runtime.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/OpenTelemetry.Instrumentation.Runtime.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Pipelines.Sockets.Unofficial/2.2.8": {
+ "type": "package",
+ "dependencies": {
+ "System.IO.Pipelines": "5.0.1"
+ },
+ "compile": {
+ "lib/net5.0/Pipelines.Sockets.Unofficial.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net5.0/Pipelines.Sockets.Unofficial.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Polly.Core/8.4.2": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Polly.Core.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Polly.Core.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Polly.Extensions/8.4.2": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Options": "8.0.0",
+ "Polly.Core": "8.4.2"
+ },
+ "compile": {
+ "lib/net8.0/Polly.Extensions.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Polly.Extensions.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Polly.RateLimiting/8.4.2": {
+ "type": "package",
+ "dependencies": {
+ "Polly.Core": "8.4.2",
+ "System.Threading.RateLimiting": "8.0.0"
+ },
+ "compile": {
+ "lib/net8.0/Polly.RateLimiting.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Polly.RateLimiting.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "StackExchange.Redis/2.9.11": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+ "Pipelines.Sockets.Unofficial": "2.2.8"
+ },
+ "compile": {
+ "lib/net8.0/StackExchange.Redis.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/StackExchange.Redis.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore/6.6.2": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.ApiDescription.Server": "6.0.5",
+ "Swashbuckle.AspNetCore.Swagger": "6.6.2",
+ "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2",
+ "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2"
+ },
+ "build": {
+ "build/Swashbuckle.AspNetCore.props": {}
+ }
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.6.2": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.OpenApi": "1.6.14"
+ },
+ "compile": {
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "frameworkReferences": [
+ "Microsoft.AspNetCore.App"
+ ]
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": {
+ "type": "package",
+ "dependencies": {
+ "Swashbuckle.AspNetCore.Swagger": "6.6.2"
+ },
+ "compile": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
+ "related": ".pdb;.xml"
+ }
+ }
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
+ "related": ".pdb;.xml"
+ }
+ },
+ "frameworkReferences": [
+ "Microsoft.AspNetCore.App"
+ ]
+ },
+ "System.Diagnostics.DiagnosticSource/8.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "System.IO.Pipelines/8.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.IO.Pipelines.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.IO.Pipelines.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "System.Memory/4.5.3": {
+ "type": "package",
+ "compile": {
+ "ref/netcoreapp2.1/_._": {}
+ },
+ "runtime": {
+ "lib/netcoreapp2.1/_._": {}
+ }
+ },
+ "System.Threading.RateLimiting/8.0.0": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.Threading.RateLimiting.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Threading.RateLimiting.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net6.0/_._": {}
+ }
+ },
+ "CloudDevelopment.ServiceDefaults/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Http.Resilience": "9.9.0",
+ "Microsoft.Extensions.ServiceDiscovery": "9.5.0",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.9.0",
+ "OpenTelemetry.Extensions.Hosting": "1.9.0",
+ "OpenTelemetry.Instrumentation.AspNetCore": "1.9.0",
+ "OpenTelemetry.Instrumentation.Http": "1.9.0",
+ "OpenTelemetry.Instrumentation.Runtime": "1.9.0"
+ },
+ "compile": {
+ "bin/placeholder/CloudDevelopment.ServiceDefaults.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/CloudDevelopment.ServiceDefaults.dll": {}
+ },
+ "frameworkReferences": [
+ "Microsoft.AspNetCore.App"
+ ]
+ }
+ }
+ },
+ "libraries": {
+ "Aspire.StackExchange.Redis/9.5.2": {
+ "sha512": "Zvq1mBsyQGqdTMoJdRZVK/MokrO5VJsk686JLIVtYjHOfErgAAVOJdxqwYIff0b6L3l9Euh7SHcbLTEApGGWkw==",
+ "type": "package",
+ "path": "aspire.stackexchange.redis/9.5.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "ConfigurationSchema.json",
+ "Icon.png",
+ "README.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "aspire.stackexchange.redis.9.5.2.nupkg.sha512",
+ "aspire.stackexchange.redis.nuspec",
+ "buildTransitive/net8.0/Aspire.StackExchange.Redis.targets",
+ "buildTransitive/net9.0/Aspire.StackExchange.Redis.targets",
+ "lib/net8.0/Aspire.StackExchange.Redis.dll",
+ "lib/net8.0/Aspire.StackExchange.Redis.xml",
+ "lib/net9.0/Aspire.StackExchange.Redis.dll",
+ "lib/net9.0/Aspire.StackExchange.Redis.xml"
+ ]
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching/9.5.2": {
+ "sha512": "C4fWMCbmRFoR1mrvJGovXJm8k/cKN5tP1seQj7ZQrj7Cg0BbX0Un1VuSE/zTwD9hEqEUm6DMI4xbUSrbS3RkVA==",
+ "type": "package",
+ "path": "aspire.stackexchange.redis.distributedcaching/9.5.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "ConfigurationSchema.json",
+ "Icon.png",
+ "README.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "aspire.stackexchange.redis.distributedcaching.9.5.2.nupkg.sha512",
+ "aspire.stackexchange.redis.distributedcaching.nuspec",
+ "buildTransitive/net8.0/Aspire.StackExchange.Redis.DistributedCaching.targets",
+ "buildTransitive/net9.0/Aspire.StackExchange.Redis.DistributedCaching.targets",
+ "lib/net8.0/Aspire.StackExchange.Redis.DistributedCaching.dll",
+ "lib/net8.0/Aspire.StackExchange.Redis.DistributedCaching.xml",
+ "lib/net9.0/Aspire.StackExchange.Redis.DistributedCaching.dll",
+ "lib/net9.0/Aspire.StackExchange.Redis.DistributedCaching.xml"
+ ]
+ },
+ "AspNetCore.HealthChecks.Redis/9.0.0": {
+ "sha512": "yNH0h8GLRbAf+PU5HNVLZ5hNeyq9mDVmRKO9xuZsme/znUYoBJlQvI0gq45gaZNlLncCHkMhR4o90MuT+gxxPw==",
+ "type": "package",
+ "path": "aspnetcore.healthchecks.redis/9.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "aspnetcore.healthchecks.redis.9.0.0.nupkg.sha512",
+ "aspnetcore.healthchecks.redis.nuspec",
+ "icon.png",
+ "lib/net8.0/HealthChecks.Redis.dll",
+ "lib/net8.0/HealthChecks.Redis.xml",
+ "lib/netstandard2.0/HealthChecks.Redis.dll",
+ "lib/netstandard2.0/HealthChecks.Redis.xml"
+ ]
+ },
+ "AWSSDK.Core/4.0.3.29": {
+ "sha512": "y07n9BHBVRDe3fDAjitnOBPwDwJ5NZ4oOh6ZvOizYWEsJnYcs34FQtTJ70Gt17qTCH86ma5kJdyMZ2lixm/dqg==",
+ "type": "package",
+ "path": "awssdk.core/4.0.3.29",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "awssdk.core.4.0.3.29.nupkg.sha512",
+ "awssdk.core.nuspec",
+ "images/AWSLogo.png",
+ "lib/net472/AWSSDK.Core.dll",
+ "lib/net472/AWSSDK.Core.xml",
+ "lib/net8.0/AWSSDK.Core.dll",
+ "lib/net8.0/AWSSDK.Core.xml",
+ "lib/netcoreapp3.1/AWSSDK.Core.dll",
+ "lib/netcoreapp3.1/AWSSDK.Core.xml",
+ "lib/netstandard2.0/AWSSDK.Core.dll",
+ "lib/netstandard2.0/AWSSDK.Core.xml",
+ "tools/account-management.ps1"
+ ]
+ },
+ "AWSSDK.Extensions.NETCore.Setup/4.0.3.33": {
+ "sha512": "/YgVZAIhVgml5OSvFe8jxwaU6EJewioZilkwo/rs3labucBUbqZfQeAtLSgZG2xyG/JGsgNB7/O2ZQygiken4Q==",
+ "type": "package",
+ "path": "awssdk.extensions.netcore.setup/4.0.3.33",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "ConfigurationSchema.json",
+ "awssdk.extensions.netcore.setup.4.0.3.33.nupkg.sha512",
+ "awssdk.extensions.netcore.setup.nuspec",
+ "buildTransitive/net8.0/AWSSDK.Extensions.NETCore.Setup.targets",
+ "buildTransitive/netcoreapp3.1/AWSSDK.Extensions.NETCore.Setup.targets",
+ "buildTransitive/netstandard2.0/AWSSDK.Extensions.NETCore.Setup.targets",
+ "images/AWSLogo.png",
+ "lib/net8.0/AWSSDK.Extensions.NETCore.Setup.dll",
+ "lib/net8.0/AWSSDK.Extensions.NETCore.Setup.xml",
+ "lib/netcoreapp3.1/AWSSDK.Extensions.NETCore.Setup.dll",
+ "lib/netcoreapp3.1/AWSSDK.Extensions.NETCore.Setup.xml",
+ "lib/netstandard2.0/AWSSDK.Extensions.NETCore.Setup.dll",
+ "lib/netstandard2.0/AWSSDK.Extensions.NETCore.Setup.xml"
+ ]
+ },
+ "AWSSDK.SQS/4.0.2.15": {
+ "sha512": "Fa4lx6saNTFakp4mXiDDJ6TrLuDfJmHjQZUGghwS5rzeS9T3NgRokaJ0jEhvW21Q/+ophhEOUZSwoZ8sLEdJDA==",
+ "type": "package",
+ "path": "awssdk.sqs/4.0.2.15",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "analyzers/dotnet/cs/AWSSDK.SQS.CodeAnalysis.dll",
+ "analyzers/dotnet/cs/SharedAnalysisCode.dll",
+ "awssdk.sqs.4.0.2.15.nupkg.sha512",
+ "awssdk.sqs.nuspec",
+ "images/AWSLogo.png",
+ "lib/net472/AWSSDK.SQS.dll",
+ "lib/net472/AWSSDK.SQS.pdb",
+ "lib/net472/AWSSDK.SQS.xml",
+ "lib/net8.0/AWSSDK.SQS.dll",
+ "lib/net8.0/AWSSDK.SQS.pdb",
+ "lib/net8.0/AWSSDK.SQS.xml",
+ "lib/netcoreapp3.1/AWSSDK.SQS.dll",
+ "lib/netcoreapp3.1/AWSSDK.SQS.pdb",
+ "lib/netcoreapp3.1/AWSSDK.SQS.xml",
+ "lib/netstandard2.0/AWSSDK.SQS.dll",
+ "lib/netstandard2.0/AWSSDK.SQS.pdb",
+ "lib/netstandard2.0/AWSSDK.SQS.xml",
+ "tools/install.ps1",
+ "tools/uninstall.ps1"
+ ]
+ },
+ "Bogus/35.6.5": {
+ "sha512": "2FGZn+aAVHjmCgClgmGkTDBVZk0zkLvAKGaxEf5JL6b3i9JbHTE4wnuY4vHCuzlCmJdU6VZjgDfHwmYkQF8VAA==",
+ "type": "package",
+ "path": "bogus/35.6.5",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE",
+ "bogus.128.png",
+ "bogus.35.6.5.nupkg.sha512",
+ "bogus.nuspec",
+ "lib/net40/Bogus.dll",
+ "lib/net40/Bogus.xml",
+ "lib/net6.0/Bogus.dll",
+ "lib/net6.0/Bogus.xml",
+ "lib/netstandard1.3/Bogus.dll",
+ "lib/netstandard1.3/Bogus.xml",
+ "lib/netstandard2.0/Bogus.dll",
+ "lib/netstandard2.0/Bogus.xml"
+ ]
+ },
+ "Google.Protobuf/3.22.5": {
+ "sha512": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==",
+ "type": "package",
+ "path": "google.protobuf/3.22.5",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "google.protobuf.3.22.5.nupkg.sha512",
+ "google.protobuf.nuspec",
+ "lib/net45/Google.Protobuf.dll",
+ "lib/net45/Google.Protobuf.pdb",
+ "lib/net45/Google.Protobuf.xml",
+ "lib/net5.0/Google.Protobuf.dll",
+ "lib/net5.0/Google.Protobuf.pdb",
+ "lib/net5.0/Google.Protobuf.xml",
+ "lib/netstandard1.1/Google.Protobuf.dll",
+ "lib/netstandard1.1/Google.Protobuf.pdb",
+ "lib/netstandard1.1/Google.Protobuf.xml",
+ "lib/netstandard2.0/Google.Protobuf.dll",
+ "lib/netstandard2.0/Google.Protobuf.pdb",
+ "lib/netstandard2.0/Google.Protobuf.xml"
+ ]
+ },
+ "Grpc.Core.Api/2.52.0": {
+ "sha512": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==",
+ "type": "package",
+ "path": "grpc.core.api/2.52.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "grpc.core.api.2.52.0.nupkg.sha512",
+ "grpc.core.api.nuspec",
+ "lib/net462/Grpc.Core.Api.dll",
+ "lib/net462/Grpc.Core.Api.pdb",
+ "lib/net462/Grpc.Core.Api.xml",
+ "lib/netstandard1.5/Grpc.Core.Api.dll",
+ "lib/netstandard1.5/Grpc.Core.Api.pdb",
+ "lib/netstandard1.5/Grpc.Core.Api.xml",
+ "lib/netstandard2.0/Grpc.Core.Api.dll",
+ "lib/netstandard2.0/Grpc.Core.Api.pdb",
+ "lib/netstandard2.0/Grpc.Core.Api.xml",
+ "lib/netstandard2.1/Grpc.Core.Api.dll",
+ "lib/netstandard2.1/Grpc.Core.Api.pdb",
+ "lib/netstandard2.1/Grpc.Core.Api.xml",
+ "packageIcon.png"
+ ]
+ },
+ "Grpc.Net.Client/2.52.0": {
+ "sha512": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==",
+ "type": "package",
+ "path": "grpc.net.client/2.52.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "grpc.net.client.2.52.0.nupkg.sha512",
+ "grpc.net.client.nuspec",
+ "lib/net5.0/Grpc.Net.Client.dll",
+ "lib/net5.0/Grpc.Net.Client.pdb",
+ "lib/net5.0/Grpc.Net.Client.xml",
+ "lib/net6.0/Grpc.Net.Client.dll",
+ "lib/net6.0/Grpc.Net.Client.pdb",
+ "lib/net6.0/Grpc.Net.Client.xml",
+ "lib/net7.0/Grpc.Net.Client.dll",
+ "lib/net7.0/Grpc.Net.Client.pdb",
+ "lib/net7.0/Grpc.Net.Client.xml",
+ "lib/netstandard2.0/Grpc.Net.Client.dll",
+ "lib/netstandard2.0/Grpc.Net.Client.pdb",
+ "lib/netstandard2.0/Grpc.Net.Client.xml",
+ "lib/netstandard2.1/Grpc.Net.Client.dll",
+ "lib/netstandard2.1/Grpc.Net.Client.pdb",
+ "lib/netstandard2.1/Grpc.Net.Client.xml",
+ "packageIcon.png"
+ ]
+ },
+ "Grpc.Net.Common/2.52.0": {
+ "sha512": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==",
+ "type": "package",
+ "path": "grpc.net.common/2.52.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "grpc.net.common.2.52.0.nupkg.sha512",
+ "grpc.net.common.nuspec",
+ "lib/net5.0/Grpc.Net.Common.dll",
+ "lib/net5.0/Grpc.Net.Common.pdb",
+ "lib/net5.0/Grpc.Net.Common.xml",
+ "lib/net6.0/Grpc.Net.Common.dll",
+ "lib/net6.0/Grpc.Net.Common.pdb",
+ "lib/net6.0/Grpc.Net.Common.xml",
+ "lib/net7.0/Grpc.Net.Common.dll",
+ "lib/net7.0/Grpc.Net.Common.pdb",
+ "lib/net7.0/Grpc.Net.Common.xml",
+ "lib/netstandard2.0/Grpc.Net.Common.dll",
+ "lib/netstandard2.0/Grpc.Net.Common.pdb",
+ "lib/netstandard2.0/Grpc.Net.Common.xml",
+ "lib/netstandard2.1/Grpc.Net.Common.dll",
+ "lib/netstandard2.1/Grpc.Net.Common.pdb",
+ "lib/netstandard2.1/Grpc.Net.Common.xml",
+ "packageIcon.png"
+ ]
+ },
+ "LocalStack.Client/2.0.0": {
+ "sha512": "aNTiKTEeVsvd5vfolWmsJ6f5uAgiiNh63F3oYFG4EerJf9T1Q9Ps7KV2BJLDtb2+CaxQlROgkf15JjhZLo8xmg==",
+ "type": "package",
+ "path": "localstack.client/2.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.txt",
+ "README.md",
+ "lib/net472/LocalStack.Client.dll",
+ "lib/net8.0/LocalStack.Client.dll",
+ "lib/net9.0/LocalStack.Client.dll",
+ "lib/netstandard2.0/LocalStack.Client.dll",
+ "localstack-dotnet-square.png",
+ "localstack.client.2.0.0.nupkg.sha512",
+ "localstack.client.nuspec"
+ ]
+ },
+ "LocalStack.Client.Extensions/2.0.0": {
+ "sha512": "4jCBUBUDcr+ftTIiE8UZgLowXnzLtpGlR8Gx6svUGYvUxoJqyXP5MDi6uaoXsGg7qJb1DDBTiZ4jsRI2oLg8pA==",
+ "type": "package",
+ "path": "localstack.client.extensions/2.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.txt",
+ "README.md",
+ "lib/net8.0/LocalStack.Client.Extensions.dll",
+ "lib/net9.0/LocalStack.Client.Extensions.dll",
+ "lib/netstandard2.0/LocalStack.Client.Extensions.dll",
+ "localstack-dotnet-square.png",
+ "localstack.client.extensions.2.0.0.nupkg.sha512",
+ "localstack.client.extensions.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.AmbientMetadata.Application/9.9.0": {
+ "sha512": "sCc7X0rXDdWIXdRq/s8Yd3YoMz2r0wNyRGQ5HdYu1TfvpGryH/3lH1pizS1WsL8gYrAD3nT0GIbsyz6c5dM/wQ==",
+ "type": "package",
+ "path": "microsoft.extensions.ambientmetadata.application/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.AmbientMetadata.Application.targets",
+ "buildTransitive/net8.0/_._",
+ "lib/net462/Microsoft.Extensions.AmbientMetadata.Application.dll",
+ "lib/net462/Microsoft.Extensions.AmbientMetadata.Application.xml",
+ "lib/net8.0/Microsoft.Extensions.AmbientMetadata.Application.dll",
+ "lib/net8.0/Microsoft.Extensions.AmbientMetadata.Application.xml",
+ "lib/net9.0/Microsoft.Extensions.AmbientMetadata.Application.dll",
+ "lib/net9.0/Microsoft.Extensions.AmbientMetadata.Application.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.AmbientMetadata.Application.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.AmbientMetadata.Application.xml",
+ "microsoft.extensions.ambientmetadata.application.9.9.0.nupkg.sha512",
+ "microsoft.extensions.ambientmetadata.application.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
+ "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
+ "type": "package",
+ "path": "microsoft.extensions.apidescription.server/6.0.5",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "build/Microsoft.Extensions.ApiDescription.Server.props",
+ "build/Microsoft.Extensions.ApiDescription.Server.targets",
+ "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props",
+ "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets",
+ "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512",
+ "microsoft.extensions.apidescription.server.nuspec",
+ "tools/Newtonsoft.Json.dll",
+ "tools/dotnet-getdocument.deps.json",
+ "tools/dotnet-getdocument.dll",
+ "tools/dotnet-getdocument.runtimeconfig.json",
+ "tools/net461-x86/GetDocument.Insider.exe",
+ "tools/net461-x86/GetDocument.Insider.exe.config",
+ "tools/net461-x86/Microsoft.Win32.Primitives.dll",
+ "tools/net461-x86/System.AppContext.dll",
+ "tools/net461-x86/System.Buffers.dll",
+ "tools/net461-x86/System.Collections.Concurrent.dll",
+ "tools/net461-x86/System.Collections.NonGeneric.dll",
+ "tools/net461-x86/System.Collections.Specialized.dll",
+ "tools/net461-x86/System.Collections.dll",
+ "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll",
+ "tools/net461-x86/System.ComponentModel.Primitives.dll",
+ "tools/net461-x86/System.ComponentModel.TypeConverter.dll",
+ "tools/net461-x86/System.ComponentModel.dll",
+ "tools/net461-x86/System.Console.dll",
+ "tools/net461-x86/System.Data.Common.dll",
+ "tools/net461-x86/System.Diagnostics.Contracts.dll",
+ "tools/net461-x86/System.Diagnostics.Debug.dll",
+ "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll",
+ "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll",
+ "tools/net461-x86/System.Diagnostics.Process.dll",
+ "tools/net461-x86/System.Diagnostics.StackTrace.dll",
+ "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll",
+ "tools/net461-x86/System.Diagnostics.Tools.dll",
+ "tools/net461-x86/System.Diagnostics.TraceSource.dll",
+ "tools/net461-x86/System.Diagnostics.Tracing.dll",
+ "tools/net461-x86/System.Drawing.Primitives.dll",
+ "tools/net461-x86/System.Dynamic.Runtime.dll",
+ "tools/net461-x86/System.Globalization.Calendars.dll",
+ "tools/net461-x86/System.Globalization.Extensions.dll",
+ "tools/net461-x86/System.Globalization.dll",
+ "tools/net461-x86/System.IO.Compression.ZipFile.dll",
+ "tools/net461-x86/System.IO.Compression.dll",
+ "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll",
+ "tools/net461-x86/System.IO.FileSystem.Primitives.dll",
+ "tools/net461-x86/System.IO.FileSystem.Watcher.dll",
+ "tools/net461-x86/System.IO.FileSystem.dll",
+ "tools/net461-x86/System.IO.IsolatedStorage.dll",
+ "tools/net461-x86/System.IO.MemoryMappedFiles.dll",
+ "tools/net461-x86/System.IO.Pipes.dll",
+ "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll",
+ "tools/net461-x86/System.IO.dll",
+ "tools/net461-x86/System.Linq.Expressions.dll",
+ "tools/net461-x86/System.Linq.Parallel.dll",
+ "tools/net461-x86/System.Linq.Queryable.dll",
+ "tools/net461-x86/System.Linq.dll",
+ "tools/net461-x86/System.Memory.dll",
+ "tools/net461-x86/System.Net.Http.dll",
+ "tools/net461-x86/System.Net.NameResolution.dll",
+ "tools/net461-x86/System.Net.NetworkInformation.dll",
+ "tools/net461-x86/System.Net.Ping.dll",
+ "tools/net461-x86/System.Net.Primitives.dll",
+ "tools/net461-x86/System.Net.Requests.dll",
+ "tools/net461-x86/System.Net.Security.dll",
+ "tools/net461-x86/System.Net.Sockets.dll",
+ "tools/net461-x86/System.Net.WebHeaderCollection.dll",
+ "tools/net461-x86/System.Net.WebSockets.Client.dll",
+ "tools/net461-x86/System.Net.WebSockets.dll",
+ "tools/net461-x86/System.Numerics.Vectors.dll",
+ "tools/net461-x86/System.ObjectModel.dll",
+ "tools/net461-x86/System.Reflection.Extensions.dll",
+ "tools/net461-x86/System.Reflection.Primitives.dll",
+ "tools/net461-x86/System.Reflection.dll",
+ "tools/net461-x86/System.Resources.Reader.dll",
+ "tools/net461-x86/System.Resources.ResourceManager.dll",
+ "tools/net461-x86/System.Resources.Writer.dll",
+ "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll",
+ "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll",
+ "tools/net461-x86/System.Runtime.Extensions.dll",
+ "tools/net461-x86/System.Runtime.Handles.dll",
+ "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll",
+ "tools/net461-x86/System.Runtime.InteropServices.dll",
+ "tools/net461-x86/System.Runtime.Numerics.dll",
+ "tools/net461-x86/System.Runtime.Serialization.Formatters.dll",
+ "tools/net461-x86/System.Runtime.Serialization.Json.dll",
+ "tools/net461-x86/System.Runtime.Serialization.Primitives.dll",
+ "tools/net461-x86/System.Runtime.Serialization.Xml.dll",
+ "tools/net461-x86/System.Runtime.dll",
+ "tools/net461-x86/System.Security.Claims.dll",
+ "tools/net461-x86/System.Security.Cryptography.Algorithms.dll",
+ "tools/net461-x86/System.Security.Cryptography.Csp.dll",
+ "tools/net461-x86/System.Security.Cryptography.Encoding.dll",
+ "tools/net461-x86/System.Security.Cryptography.Primitives.dll",
+ "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll",
+ "tools/net461-x86/System.Security.Principal.dll",
+ "tools/net461-x86/System.Security.SecureString.dll",
+ "tools/net461-x86/System.Text.Encoding.Extensions.dll",
+ "tools/net461-x86/System.Text.Encoding.dll",
+ "tools/net461-x86/System.Text.RegularExpressions.dll",
+ "tools/net461-x86/System.Threading.Overlapped.dll",
+ "tools/net461-x86/System.Threading.Tasks.Parallel.dll",
+ "tools/net461-x86/System.Threading.Tasks.dll",
+ "tools/net461-x86/System.Threading.Thread.dll",
+ "tools/net461-x86/System.Threading.ThreadPool.dll",
+ "tools/net461-x86/System.Threading.Timer.dll",
+ "tools/net461-x86/System.Threading.dll",
+ "tools/net461-x86/System.ValueTuple.dll",
+ "tools/net461-x86/System.Xml.ReaderWriter.dll",
+ "tools/net461-x86/System.Xml.XDocument.dll",
+ "tools/net461-x86/System.Xml.XPath.XDocument.dll",
+ "tools/net461-x86/System.Xml.XPath.dll",
+ "tools/net461-x86/System.Xml.XmlDocument.dll",
+ "tools/net461-x86/System.Xml.XmlSerializer.dll",
+ "tools/net461-x86/netstandard.dll",
+ "tools/net461/GetDocument.Insider.exe",
+ "tools/net461/GetDocument.Insider.exe.config",
+ "tools/net461/Microsoft.Win32.Primitives.dll",
+ "tools/net461/System.AppContext.dll",
+ "tools/net461/System.Buffers.dll",
+ "tools/net461/System.Collections.Concurrent.dll",
+ "tools/net461/System.Collections.NonGeneric.dll",
+ "tools/net461/System.Collections.Specialized.dll",
+ "tools/net461/System.Collections.dll",
+ "tools/net461/System.ComponentModel.EventBasedAsync.dll",
+ "tools/net461/System.ComponentModel.Primitives.dll",
+ "tools/net461/System.ComponentModel.TypeConverter.dll",
+ "tools/net461/System.ComponentModel.dll",
+ "tools/net461/System.Console.dll",
+ "tools/net461/System.Data.Common.dll",
+ "tools/net461/System.Diagnostics.Contracts.dll",
+ "tools/net461/System.Diagnostics.Debug.dll",
+ "tools/net461/System.Diagnostics.DiagnosticSource.dll",
+ "tools/net461/System.Diagnostics.FileVersionInfo.dll",
+ "tools/net461/System.Diagnostics.Process.dll",
+ "tools/net461/System.Diagnostics.StackTrace.dll",
+ "tools/net461/System.Diagnostics.TextWriterTraceListener.dll",
+ "tools/net461/System.Diagnostics.Tools.dll",
+ "tools/net461/System.Diagnostics.TraceSource.dll",
+ "tools/net461/System.Diagnostics.Tracing.dll",
+ "tools/net461/System.Drawing.Primitives.dll",
+ "tools/net461/System.Dynamic.Runtime.dll",
+ "tools/net461/System.Globalization.Calendars.dll",
+ "tools/net461/System.Globalization.Extensions.dll",
+ "tools/net461/System.Globalization.dll",
+ "tools/net461/System.IO.Compression.ZipFile.dll",
+ "tools/net461/System.IO.Compression.dll",
+ "tools/net461/System.IO.FileSystem.DriveInfo.dll",
+ "tools/net461/System.IO.FileSystem.Primitives.dll",
+ "tools/net461/System.IO.FileSystem.Watcher.dll",
+ "tools/net461/System.IO.FileSystem.dll",
+ "tools/net461/System.IO.IsolatedStorage.dll",
+ "tools/net461/System.IO.MemoryMappedFiles.dll",
+ "tools/net461/System.IO.Pipes.dll",
+ "tools/net461/System.IO.UnmanagedMemoryStream.dll",
+ "tools/net461/System.IO.dll",
+ "tools/net461/System.Linq.Expressions.dll",
+ "tools/net461/System.Linq.Parallel.dll",
+ "tools/net461/System.Linq.Queryable.dll",
+ "tools/net461/System.Linq.dll",
+ "tools/net461/System.Memory.dll",
+ "tools/net461/System.Net.Http.dll",
+ "tools/net461/System.Net.NameResolution.dll",
+ "tools/net461/System.Net.NetworkInformation.dll",
+ "tools/net461/System.Net.Ping.dll",
+ "tools/net461/System.Net.Primitives.dll",
+ "tools/net461/System.Net.Requests.dll",
+ "tools/net461/System.Net.Security.dll",
+ "tools/net461/System.Net.Sockets.dll",
+ "tools/net461/System.Net.WebHeaderCollection.dll",
+ "tools/net461/System.Net.WebSockets.Client.dll",
+ "tools/net461/System.Net.WebSockets.dll",
+ "tools/net461/System.Numerics.Vectors.dll",
+ "tools/net461/System.ObjectModel.dll",
+ "tools/net461/System.Reflection.Extensions.dll",
+ "tools/net461/System.Reflection.Primitives.dll",
+ "tools/net461/System.Reflection.dll",
+ "tools/net461/System.Resources.Reader.dll",
+ "tools/net461/System.Resources.ResourceManager.dll",
+ "tools/net461/System.Resources.Writer.dll",
+ "tools/net461/System.Runtime.CompilerServices.Unsafe.dll",
+ "tools/net461/System.Runtime.CompilerServices.VisualC.dll",
+ "tools/net461/System.Runtime.Extensions.dll",
+ "tools/net461/System.Runtime.Handles.dll",
+ "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll",
+ "tools/net461/System.Runtime.InteropServices.dll",
+ "tools/net461/System.Runtime.Numerics.dll",
+ "tools/net461/System.Runtime.Serialization.Formatters.dll",
+ "tools/net461/System.Runtime.Serialization.Json.dll",
+ "tools/net461/System.Runtime.Serialization.Primitives.dll",
+ "tools/net461/System.Runtime.Serialization.Xml.dll",
+ "tools/net461/System.Runtime.dll",
+ "tools/net461/System.Security.Claims.dll",
+ "tools/net461/System.Security.Cryptography.Algorithms.dll",
+ "tools/net461/System.Security.Cryptography.Csp.dll",
+ "tools/net461/System.Security.Cryptography.Encoding.dll",
+ "tools/net461/System.Security.Cryptography.Primitives.dll",
+ "tools/net461/System.Security.Cryptography.X509Certificates.dll",
+ "tools/net461/System.Security.Principal.dll",
+ "tools/net461/System.Security.SecureString.dll",
+ "tools/net461/System.Text.Encoding.Extensions.dll",
+ "tools/net461/System.Text.Encoding.dll",
+ "tools/net461/System.Text.RegularExpressions.dll",
+ "tools/net461/System.Threading.Overlapped.dll",
+ "tools/net461/System.Threading.Tasks.Parallel.dll",
+ "tools/net461/System.Threading.Tasks.dll",
+ "tools/net461/System.Threading.Thread.dll",
+ "tools/net461/System.Threading.ThreadPool.dll",
+ "tools/net461/System.Threading.Timer.dll",
+ "tools/net461/System.Threading.dll",
+ "tools/net461/System.ValueTuple.dll",
+ "tools/net461/System.Xml.ReaderWriter.dll",
+ "tools/net461/System.Xml.XDocument.dll",
+ "tools/net461/System.Xml.XPath.XDocument.dll",
+ "tools/net461/System.Xml.XPath.dll",
+ "tools/net461/System.Xml.XmlDocument.dll",
+ "tools/net461/System.Xml.XmlSerializer.dll",
+ "tools/net461/netstandard.dll",
+ "tools/netcoreapp2.1/GetDocument.Insider.deps.json",
+ "tools/netcoreapp2.1/GetDocument.Insider.dll",
+ "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json",
+ "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll"
+ ]
+ },
+ "Microsoft.Extensions.Caching.Abstractions/8.0.0": {
+ "sha512": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
+ "type": "package",
+ "path": "microsoft.extensions.caching.abstractions/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.Caching.Abstractions.xml",
+ "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.dll",
+ "lib/net7.0/Microsoft.Extensions.Caching.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml",
+ "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
+ "microsoft.extensions.caching.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Caching.StackExchangeRedis/8.0.20": {
+ "sha512": "X6pBeU2ARaOqxxqqq9I5HmhtciULikdzr74uLM+Ri95epbk6yh3JQcjvC/7d40mzKrg4G2EjbKqbmSoZhCZJFg==",
+ "type": "package",
+ "path": "microsoft.extensions.caching.stackexchangeredis/8.0.20",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.Caching.StackExchangeRedis.dll",
+ "lib/net462/Microsoft.Extensions.Caching.StackExchangeRedis.xml",
+ "lib/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll",
+ "lib/net8.0/Microsoft.Extensions.Caching.StackExchangeRedis.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Caching.StackExchangeRedis.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Caching.StackExchangeRedis.xml",
+ "microsoft.extensions.caching.stackexchangeredis.8.0.20.nupkg.sha512",
+ "microsoft.extensions.caching.stackexchangeredis.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Compliance.Abstractions/9.9.0": {
+ "sha512": "9/bU4vuy7xu81BeiHazP0kmtOb3vAKSGdN+9s84/HfwVDvxAZOfPxDK7uPl6jEfiFdZvpHNF/YxWQqaISvYEUQ==",
+ "type": "package",
+ "path": "microsoft.extensions.compliance.abstractions/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "lib/net8.0/Microsoft.Extensions.Compliance.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Compliance.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.Compliance.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.Compliance.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Compliance.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Compliance.Abstractions.xml",
+ "microsoft.extensions.compliance.abstractions.9.9.0.nupkg.sha512",
+ "microsoft.extensions.compliance.abstractions.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Configuration/8.0.0": {
+ "sha512": "0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.targets",
+ "lib/net462/Microsoft.Extensions.Configuration.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.xml",
+ "lib/net6.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net6.0/Microsoft.Extensions.Configuration.xml",
+ "lib/net7.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net7.0/Microsoft.Extensions.Configuration.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml",
+ "microsoft.extensions.configuration.8.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
+ "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.abstractions/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Binder/8.0.2": {
+ "sha512": "7IQhGK+wjyGrNsPBjJcZwWAr+Wf6D4+TwOptUt77bWtgNkiV8tDEbhFS+dDamtQFZ2X7kWG9m71iZQRj2x3zgQ==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.binder/8.0.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets",
+ "lib/net462/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net6.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net6.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net7.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net7.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "microsoft.extensions.configuration.binder.8.0.2.nupkg.sha512",
+ "microsoft.extensions.configuration.binder.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection/8.0.1": {
+ "sha512": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
+ "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
+ "sha512": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection.AutoActivation/9.9.0": {
+ "sha512": "DrDJ7+dWB0LeR6b83wj9WNhr45O67Q+wTxFaVE9BHpAFGc66Xz/K3A5wp5fA/060vLGGDgkftBpbS307BizSFw==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection.autoactivation/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.DependencyInjection.AutoActivation.targets",
+ "buildTransitive/net8.0/_._",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.AutoActivation.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.AutoActivation.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.AutoActivation.xml",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.AutoActivation.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.AutoActivation.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.AutoActivation.xml",
+ "microsoft.extensions.dependencyinjection.autoactivation.9.9.0.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.autoactivation.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Diagnostics/8.0.1": {
+ "sha512": "doVPCUUCY7c6LhBsEfiy3W1bvS7Mi6LkfQMS8nlC22jZWNxBv8VO8bdfeyvpYFst6Kxqk7HBC6lytmEoBssvSQ==",
+ "type": "package",
+ "path": "microsoft.extensions.diagnostics/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Diagnostics.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.targets",
+ "lib/net462/Microsoft.Extensions.Diagnostics.dll",
+ "lib/net462/Microsoft.Extensions.Diagnostics.xml",
+ "lib/net6.0/Microsoft.Extensions.Diagnostics.dll",
+ "lib/net6.0/Microsoft.Extensions.Diagnostics.xml",
+ "lib/net7.0/Microsoft.Extensions.Diagnostics.dll",
+ "lib/net7.0/Microsoft.Extensions.Diagnostics.xml",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.dll",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.xml",
+ "microsoft.extensions.diagnostics.8.0.1.nupkg.sha512",
+ "microsoft.extensions.diagnostics.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions/8.0.1": {
+ "sha512": "elH2vmwNmsXuKmUeMQ4YW9ldXiF+gSGDgg1vORksob5POnpaI6caj1Hu8zaYbEuibhqCoWg0YRWDazBY3zjBfg==",
+ "type": "package",
+ "path": "microsoft.extensions.diagnostics.abstractions/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.xml",
+ "lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.dll",
+ "lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml",
+ "microsoft.extensions.diagnostics.abstractions.8.0.1.nupkg.sha512",
+ "microsoft.extensions.diagnostics.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Diagnostics.ExceptionSummarization/9.9.0": {
+ "sha512": "LVb1ziRqI8x8TNCJW+zRGx1xPTPFWbhJzEk8k+rFx03M8zrQt5T+3MMV/fWTeHc3/7uoJDRDRklRMUlAqQw99w==",
+ "type": "package",
+ "path": "microsoft.extensions.diagnostics.exceptionsummarization/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.Diagnostics.ExceptionSummarization.targets",
+ "buildTransitive/net8.0/_._",
+ "lib/net462/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll",
+ "lib/net462/Microsoft.Extensions.Diagnostics.ExceptionSummarization.xml",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.xml",
+ "lib/net9.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll",
+ "lib/net9.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.ExceptionSummarization.xml",
+ "microsoft.extensions.diagnostics.exceptionsummarization.9.9.0.nupkg.sha512",
+ "microsoft.extensions.diagnostics.exceptionsummarization.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks/8.0.20": {
+ "sha512": "UAgqpgfLaFQewIQrMW8hpe/cVdVDRhdoQmI2kWP1tw1iesCZ+qhvYTV4upNRKCI+TQkctlxPlSFVbfk4XKykDw==",
+ "type": "package",
+ "path": "microsoft.extensions.diagnostics.healthchecks/8.0.20",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.Diagnostics.HealthChecks.dll",
+ "lib/net462/Microsoft.Extensions.Diagnostics.HealthChecks.xml",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.HealthChecks.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.HealthChecks.xml",
+ "microsoft.extensions.diagnostics.healthchecks.8.0.20.nupkg.sha512",
+ "microsoft.extensions.diagnostics.healthchecks.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/8.0.20": {
+ "sha512": "ez084scWlXgAl8ccTFw7BSi/KbZ6qvuWXy1K7Dnu0akFhocHct7M/zPIGt64pJXk5GxaMCCtRwuAaI1xfiJcAA==",
+ "type": "package",
+ "path": "microsoft.extensions.diagnostics.healthchecks.abstractions/8.0.20",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.xml",
+ "microsoft.extensions.diagnostics.healthchecks.abstractions.8.0.20.nupkg.sha512",
+ "microsoft.extensions.diagnostics.healthchecks.abstractions.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Features/8.0.20": {
+ "sha512": "3YCswjRwDom5KEyCfdPfyfKxKOVXairlyjNLJ48BG1YIs6GP2RNbK36rZY7myOkW64kjAaZTXMY7ruscqasDew==",
+ "type": "package",
+ "path": "microsoft.extensions.features/8.0.20",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.Features.dll",
+ "lib/net462/Microsoft.Extensions.Features.xml",
+ "lib/net8.0/Microsoft.Extensions.Features.dll",
+ "lib/net8.0/Microsoft.Extensions.Features.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Features.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Features.xml",
+ "microsoft.extensions.features.8.0.20.nupkg.sha512",
+ "microsoft.extensions.features.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
+ "sha512": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
+ "type": "package",
+ "path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
+ "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
+ "microsoft.extensions.fileproviders.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Hosting.Abstractions/8.0.1": {
+ "sha512": "nHwq9aPBdBPYXPti6wYEEfgXddfBrYC+CQLn+qISiwQq5tpfaqDZSKOJNxoe9rfQxGf1c+2wC/qWFe1QYJPYqw==",
+ "type": "package",
+ "path": "microsoft.extensions.hosting.abstractions/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Hosting.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.Hosting.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Hosting.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.Hosting.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.Hosting.Abstractions.xml",
+ "lib/net7.0/Microsoft.Extensions.Hosting.Abstractions.dll",
+ "lib/net7.0/Microsoft.Extensions.Hosting.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.xml",
+ "microsoft.extensions.hosting.abstractions.8.0.1.nupkg.sha512",
+ "microsoft.extensions.hosting.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Http/8.0.1": {
+ "sha512": "kDYeKJUzh0qeg/AI+nSr3ffthmXYQTEb0nS9qRC7YhSbbuN4M4NPbaB77AJwtkTnCV9XZ7qYj3dkZaNcyl73EA==",
+ "type": "package",
+ "path": "microsoft.extensions.http/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Http.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Http.targets",
+ "lib/net462/Microsoft.Extensions.Http.dll",
+ "lib/net462/Microsoft.Extensions.Http.xml",
+ "lib/net6.0/Microsoft.Extensions.Http.dll",
+ "lib/net6.0/Microsoft.Extensions.Http.xml",
+ "lib/net7.0/Microsoft.Extensions.Http.dll",
+ "lib/net7.0/Microsoft.Extensions.Http.xml",
+ "lib/net8.0/Microsoft.Extensions.Http.dll",
+ "lib/net8.0/Microsoft.Extensions.Http.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Http.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Http.xml",
+ "microsoft.extensions.http.8.0.1.nupkg.sha512",
+ "microsoft.extensions.http.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Http.Diagnostics/9.9.0": {
+ "sha512": "bdO0rzxXHsmp0+k1chjBKwxhdxkHetBfVe2LhFkoxSirErvvTmnD/ZeHqdNOeMEouJmaoGJFep70NFRK8/NDlA==",
+ "type": "package",
+ "path": "microsoft.extensions.http.diagnostics/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.Http.Diagnostics.targets",
+ "buildTransitive/net8.0/_._",
+ "lib/net462/Microsoft.Extensions.Http.Diagnostics.dll",
+ "lib/net462/Microsoft.Extensions.Http.Diagnostics.xml",
+ "lib/net8.0/Microsoft.Extensions.Http.Diagnostics.dll",
+ "lib/net8.0/Microsoft.Extensions.Http.Diagnostics.xml",
+ "lib/net9.0/Microsoft.Extensions.Http.Diagnostics.dll",
+ "lib/net9.0/Microsoft.Extensions.Http.Diagnostics.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Http.Diagnostics.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Http.Diagnostics.xml",
+ "microsoft.extensions.http.diagnostics.9.9.0.nupkg.sha512",
+ "microsoft.extensions.http.diagnostics.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Http.Resilience/9.9.0": {
+ "sha512": "dZ5Y34CsrPNBn4GMLq/PJeIV903R98K3Z3a2sECEeJv3kW4HlgwDZoZWsbG4ymBdGdQJoXS+Qp8sdLm3ptFdDg==",
+ "type": "package",
+ "path": "microsoft.extensions.http.resilience/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.Http.Resilience.net462.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Http.Resilience.targets",
+ "buildTransitive/net8.0/Microsoft.Extensions.Http.Resilience.targets",
+ "lib/net462/Microsoft.Extensions.Http.Resilience.dll",
+ "lib/net462/Microsoft.Extensions.Http.Resilience.xml",
+ "lib/net8.0/Microsoft.Extensions.Http.Resilience.dll",
+ "lib/net8.0/Microsoft.Extensions.Http.Resilience.xml",
+ "lib/net9.0/Microsoft.Extensions.Http.Resilience.dll",
+ "lib/net9.0/Microsoft.Extensions.Http.Resilience.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Http.Resilience.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Http.Resilience.xml",
+ "microsoft.extensions.http.resilience.9.9.0.nupkg.sha512",
+ "microsoft.extensions.http.resilience.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Logging/8.0.1": {
+ "sha512": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==",
+ "type": "package",
+ "path": "microsoft.extensions.logging/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets",
+ "lib/net462/Microsoft.Extensions.Logging.dll",
+ "lib/net462/Microsoft.Extensions.Logging.xml",
+ "lib/net6.0/Microsoft.Extensions.Logging.dll",
+ "lib/net6.0/Microsoft.Extensions.Logging.xml",
+ "lib/net7.0/Microsoft.Extensions.Logging.dll",
+ "lib/net7.0/Microsoft.Extensions.Logging.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
+ "microsoft.extensions.logging.8.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Abstractions/8.0.3": {
+ "sha512": "dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.abstractions/8.0.3",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512",
+ "microsoft.extensions.logging.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Configuration/8.0.1": {
+ "sha512": "QWwTrsgOnJMmn+XUslm8D2H1n3PkP/u/v52FODtyBc/k4W9r3i2vcXXeeX/upnzllJYRRbrzVzT0OclfNJtBJA==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.configuration/8.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets",
+ "lib/net462/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net6.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net6.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net7.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net7.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "microsoft.extensions.logging.configuration.8.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.configuration.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.ObjectPool/8.0.20": {
+ "sha512": "+mTW7r2MxHN7DazXUdmne/aiUcxs7fQP3CvfLF/O00hqtBS7nAU+jVRRaVFkXFbY23y3bbfCgke425Zknxlywg==",
+ "type": "package",
+ "path": "microsoft.extensions.objectpool/8.0.20",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.ObjectPool.dll",
+ "lib/net462/Microsoft.Extensions.ObjectPool.xml",
+ "lib/net8.0/Microsoft.Extensions.ObjectPool.dll",
+ "lib/net8.0/Microsoft.Extensions.ObjectPool.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.ObjectPool.xml",
+ "microsoft.extensions.objectpool.8.0.20.nupkg.sha512",
+ "microsoft.extensions.objectpool.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Options/8.0.2": {
+ "sha512": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+ "type": "package",
+ "path": "microsoft.extensions.options/8.0.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "buildTransitive/net461/Microsoft.Extensions.Options.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Options.targets",
+ "buildTransitive/net6.0/Microsoft.Extensions.Options.targets",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets",
+ "lib/net462/Microsoft.Extensions.Options.dll",
+ "lib/net462/Microsoft.Extensions.Options.xml",
+ "lib/net6.0/Microsoft.Extensions.Options.dll",
+ "lib/net6.0/Microsoft.Extensions.Options.xml",
+ "lib/net7.0/Microsoft.Extensions.Options.dll",
+ "lib/net7.0/Microsoft.Extensions.Options.xml",
+ "lib/net8.0/Microsoft.Extensions.Options.dll",
+ "lib/net8.0/Microsoft.Extensions.Options.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Options.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Options.xml",
+ "microsoft.extensions.options.8.0.2.nupkg.sha512",
+ "microsoft.extensions.options.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": {
+ "sha512": "0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==",
+ "type": "package",
+ "path": "microsoft.extensions.options.configurationextensions/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Options.ConfigurationExtensions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.ConfigurationExtensions.targets",
+ "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net6.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net6.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net7.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net7.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512",
+ "microsoft.extensions.options.configurationextensions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Primitives/8.0.0": {
+ "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+ "type": "package",
+ "path": "microsoft.extensions.primitives/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
+ "lib/net462/Microsoft.Extensions.Primitives.dll",
+ "lib/net462/Microsoft.Extensions.Primitives.xml",
+ "lib/net6.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net6.0/Microsoft.Extensions.Primitives.xml",
+ "lib/net7.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net7.0/Microsoft.Extensions.Primitives.xml",
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net8.0/Microsoft.Extensions.Primitives.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
+ "microsoft.extensions.primitives.8.0.0.nupkg.sha512",
+ "microsoft.extensions.primitives.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Resilience/9.9.0": {
+ "sha512": "MZNGlO++Z64MsIzb2d875uFx0fivsJb+gMjSacVQTpINJm0sxzOK2CfjnH4gDbndAZ9pCU2rZtsxqMa45YkM6A==",
+ "type": "package",
+ "path": "microsoft.extensions.resilience/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.Resilience.targets",
+ "buildTransitive/net8.0/_._",
+ "lib/net462/Microsoft.Extensions.Resilience.dll",
+ "lib/net462/Microsoft.Extensions.Resilience.xml",
+ "lib/net8.0/Microsoft.Extensions.Resilience.dll",
+ "lib/net8.0/Microsoft.Extensions.Resilience.xml",
+ "lib/net9.0/Microsoft.Extensions.Resilience.dll",
+ "lib/net9.0/Microsoft.Extensions.Resilience.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Resilience.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Resilience.xml",
+ "microsoft.extensions.resilience.9.9.0.nupkg.sha512",
+ "microsoft.extensions.resilience.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.ServiceDiscovery/9.5.0": {
+ "sha512": "Fj/yZriF1f9XV0xy30cCM6OXfGMwx40Irhf+zM6cREf6W1OvFjnzDKnGS/kSKPqr579PdFkXd5s8uDRIXr8N4g==",
+ "type": "package",
+ "path": "microsoft.extensions.servicediscovery/9.5.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.ServiceDiscovery.dll",
+ "lib/net462/Microsoft.Extensions.ServiceDiscovery.xml",
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.dll",
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.ServiceDiscovery.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.ServiceDiscovery.xml",
+ "microsoft.extensions.servicediscovery.9.5.0.nupkg.sha512",
+ "microsoft.extensions.servicediscovery.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.ServiceDiscovery.Abstractions/9.5.0": {
+ "sha512": "uPSUz9kPHe0vm0YQFIKJebxhTH5FrG51qGvquRntE87Z3tDKEGjQMWsxKog/RqhB0YO8OYn0F7jRxnTJlj3KvQ==",
+ "type": "package",
+ "path": "microsoft.extensions.servicediscovery.abstractions/9.5.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.ServiceDiscovery.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.ServiceDiscovery.Abstractions.xml",
+ "microsoft.extensions.servicediscovery.abstractions.9.5.0.nupkg.sha512",
+ "microsoft.extensions.servicediscovery.abstractions.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Telemetry/9.9.0": {
+ "sha512": "gwTzxU0+W0Beqp0jivDajsjVtLZTxM5werm4kggyTqmP5dlfapo/0DoK0yG3/gNyiFWCcJmEGhmqrSL9gNFtGw==",
+ "type": "package",
+ "path": "microsoft.extensions.telemetry/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "buildTransitive/net462/Microsoft.Extensions.Telemetry.targets",
+ "buildTransitive/net8.0/_._",
+ "lib/net462/Microsoft.Extensions.Telemetry.dll",
+ "lib/net462/Microsoft.Extensions.Telemetry.xml",
+ "lib/net8.0/Microsoft.Extensions.Telemetry.dll",
+ "lib/net8.0/Microsoft.Extensions.Telemetry.xml",
+ "lib/net9.0/Microsoft.Extensions.Telemetry.dll",
+ "lib/net9.0/Microsoft.Extensions.Telemetry.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Telemetry.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Telemetry.xml",
+ "microsoft.extensions.telemetry.9.9.0.nupkg.sha512",
+ "microsoft.extensions.telemetry.nuspec"
+ ]
+ },
+ "Microsoft.Extensions.Telemetry.Abstractions/9.9.0": {
+ "sha512": "EmnlvikFKeWRJLvdoysRWOnYggD+aQpwpXjfDAZLpbuiPYsNhXzMRs6b+/R0QiQ5gV8r6JAGZyexMum8ZUDtWA==",
+ "type": "package",
+ "path": "microsoft.extensions.telemetry.abstractions/9.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "README.md",
+ "analyzers/dotnet/cs/Microsoft.Gen.Logging.dll",
+ "analyzers/dotnet/cs/Microsoft.Gen.Metrics.dll",
+ "buildTransitive/net462/Microsoft.Extensions.Telemetry.Abstractions.targets",
+ "buildTransitive/net6.0/Microsoft.Extensions.Telemetry.Abstractions.props",
+ "buildTransitive/net6.0/Microsoft.Extensions.Telemetry.Abstractions.targets",
+ "buildTransitive/net8.0/Microsoft.Extensions.Telemetry.Abstractions.props",
+ "buildTransitive/net8.0/Microsoft.Extensions.Telemetry.Abstractions.targets",
+ "lib/net462/Microsoft.Extensions.Telemetry.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Telemetry.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Telemetry.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Telemetry.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.Telemetry.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.Telemetry.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Telemetry.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Telemetry.Abstractions.xml",
+ "microsoft.extensions.telemetry.abstractions.9.9.0.nupkg.sha512",
+ "microsoft.extensions.telemetry.abstractions.nuspec"
+ ]
+ },
+ "Microsoft.OpenApi/1.6.14": {
+ "sha512": "tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==",
+ "type": "package",
+ "path": "microsoft.openapi/1.6.14",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/netstandard2.0/Microsoft.OpenApi.dll",
+ "lib/netstandard2.0/Microsoft.OpenApi.pdb",
+ "lib/netstandard2.0/Microsoft.OpenApi.xml",
+ "microsoft.openapi.1.6.14.nupkg.sha512",
+ "microsoft.openapi.nuspec"
+ ]
+ },
+ "OpenTelemetry/1.9.0": {
+ "sha512": "7scS6BUhwYeSXEDGhCxMSezmvyCoDU5kFQbmfyW9iVvVTcWhec+1KIN33/LOCdBXRkzt2y7+g03mkdAB0XZ9Fw==",
+ "type": "package",
+ "path": "opentelemetry/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/OpenTelemetry.dll",
+ "lib/net462/OpenTelemetry.xml",
+ "lib/net6.0/OpenTelemetry.dll",
+ "lib/net6.0/OpenTelemetry.xml",
+ "lib/net8.0/OpenTelemetry.dll",
+ "lib/net8.0/OpenTelemetry.xml",
+ "lib/netstandard2.0/OpenTelemetry.dll",
+ "lib/netstandard2.0/OpenTelemetry.xml",
+ "lib/netstandard2.1/OpenTelemetry.dll",
+ "lib/netstandard2.1/OpenTelemetry.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.1.9.0.nupkg.sha512",
+ "opentelemetry.nuspec"
+ ]
+ },
+ "OpenTelemetry.Api/1.9.0": {
+ "sha512": "Xz8ZvM1Lm0m7BbtGBnw2JlPo++YKyMp08zMK5p0mf+cIi5jeMt2+QsYu9X6YEAbjCxBQYwEak5Z8sY6Ig2WcwQ==",
+ "type": "package",
+ "path": "opentelemetry.api/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/OpenTelemetry.Api.dll",
+ "lib/net462/OpenTelemetry.Api.xml",
+ "lib/net6.0/OpenTelemetry.Api.dll",
+ "lib/net6.0/OpenTelemetry.Api.xml",
+ "lib/net8.0/OpenTelemetry.Api.dll",
+ "lib/net8.0/OpenTelemetry.Api.xml",
+ "lib/netstandard2.0/OpenTelemetry.Api.dll",
+ "lib/netstandard2.0/OpenTelemetry.Api.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.api.1.9.0.nupkg.sha512",
+ "opentelemetry.api.nuspec"
+ ]
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions/1.9.0": {
+ "sha512": "L0D4LBR5JFmwLun5MCWVGapsJLV0ANZ+XXu9NEI3JE/HRKkRuUO+J2MuHD5DBwiU//QMYYM4B22oev1hVLoHDQ==",
+ "type": "package",
+ "path": "opentelemetry.api.providerbuilderextensions/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/OpenTelemetry.Api.ProviderBuilderExtensions.dll",
+ "lib/net462/OpenTelemetry.Api.ProviderBuilderExtensions.xml",
+ "lib/net6.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll",
+ "lib/net6.0/OpenTelemetry.Api.ProviderBuilderExtensions.xml",
+ "lib/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll",
+ "lib/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.xml",
+ "lib/netstandard2.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll",
+ "lib/netstandard2.0/OpenTelemetry.Api.ProviderBuilderExtensions.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.api.providerbuilderextensions.1.9.0.nupkg.sha512",
+ "opentelemetry.api.providerbuilderextensions.nuspec"
+ ]
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.9.0": {
+ "sha512": "qzFOP3V2eYIVbug3U4BJzzidHe9JhAJ42WZ/H8pUp/45Ry3MQQg/+e/ZieClJcxKnpbkXi7dUq1rpvuNp+yBYA==",
+ "type": "package",
+ "path": "opentelemetry.exporter.opentelemetryprotocol/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll",
+ "lib/net462/OpenTelemetry.Exporter.OpenTelemetryProtocol.xml",
+ "lib/net6.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll",
+ "lib/net6.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.xml",
+ "lib/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll",
+ "lib/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.xml",
+ "lib/netstandard2.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll",
+ "lib/netstandard2.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.xml",
+ "lib/netstandard2.1/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll",
+ "lib/netstandard2.1/OpenTelemetry.Exporter.OpenTelemetryProtocol.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.exporter.opentelemetryprotocol.1.9.0.nupkg.sha512",
+ "opentelemetry.exporter.opentelemetryprotocol.nuspec"
+ ]
+ },
+ "OpenTelemetry.Extensions.Hosting/1.9.0": {
+ "sha512": "QBQPrKDVCXxTBE+r8tgjmFNKKHi4sKyczmip2XGUcjy8kk3quUNhttnjiMqC4sU50Hemmn4i5752Co26pnKe3A==",
+ "type": "package",
+ "path": "opentelemetry.extensions.hosting/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/net462/OpenTelemetry.Extensions.Hosting.dll",
+ "lib/net462/OpenTelemetry.Extensions.Hosting.xml",
+ "lib/net6.0/OpenTelemetry.Extensions.Hosting.dll",
+ "lib/net6.0/OpenTelemetry.Extensions.Hosting.xml",
+ "lib/net8.0/OpenTelemetry.Extensions.Hosting.dll",
+ "lib/net8.0/OpenTelemetry.Extensions.Hosting.xml",
+ "lib/netstandard2.0/OpenTelemetry.Extensions.Hosting.dll",
+ "lib/netstandard2.0/OpenTelemetry.Extensions.Hosting.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.extensions.hosting.1.9.0.nupkg.sha512",
+ "opentelemetry.extensions.hosting.nuspec"
+ ]
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore/1.9.0": {
+ "sha512": "x4HuWBw1rbWZUh5j8/GpXz3xa7JnrTuKne+ACmBqvcoO/rNGkG7HayRruwoQ7gf52xpMtRGr4gxlhLW8eU0EiQ==",
+ "type": "package",
+ "path": "opentelemetry.instrumentation.aspnetcore/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net6.0/OpenTelemetry.Instrumentation.AspNetCore.dll",
+ "lib/net6.0/OpenTelemetry.Instrumentation.AspNetCore.xml",
+ "lib/net7.0/OpenTelemetry.Instrumentation.AspNetCore.dll",
+ "lib/net7.0/OpenTelemetry.Instrumentation.AspNetCore.xml",
+ "lib/net8.0/OpenTelemetry.Instrumentation.AspNetCore.dll",
+ "lib/net8.0/OpenTelemetry.Instrumentation.AspNetCore.xml",
+ "lib/netstandard2.0/OpenTelemetry.Instrumentation.AspNetCore.dll",
+ "lib/netstandard2.0/OpenTelemetry.Instrumentation.AspNetCore.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.instrumentation.aspnetcore.1.9.0.nupkg.sha512",
+ "opentelemetry.instrumentation.aspnetcore.nuspec"
+ ]
+ },
+ "OpenTelemetry.Instrumentation.Http/1.9.0": {
+ "sha512": "+ZXppf8Qxz3OdC803T8fB6i8iSscc8PsxMnM/JizSOYmkz+8vGiScEiaBBBFNZtMh2KpA0q+qxwnSwQUkbvzog==",
+ "type": "package",
+ "path": "opentelemetry.instrumentation.http/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net462/OpenTelemetry.Instrumentation.Http.dll",
+ "lib/net462/OpenTelemetry.Instrumentation.Http.xml",
+ "lib/net6.0/OpenTelemetry.Instrumentation.Http.dll",
+ "lib/net6.0/OpenTelemetry.Instrumentation.Http.xml",
+ "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll",
+ "lib/net8.0/OpenTelemetry.Instrumentation.Http.xml",
+ "lib/netstandard2.0/OpenTelemetry.Instrumentation.Http.dll",
+ "lib/netstandard2.0/OpenTelemetry.Instrumentation.Http.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.instrumentation.http.1.9.0.nupkg.sha512",
+ "opentelemetry.instrumentation.http.nuspec"
+ ]
+ },
+ "OpenTelemetry.Instrumentation.Runtime/1.9.0": {
+ "sha512": "6raJb9Pvi1CaBB59SX86Mr9NQiQbiv9ialO+cQKFRGCq3Bl2WC8cTTcbfGtaRX0quqWnZC/dK7xrXuOuYcwANA==",
+ "type": "package",
+ "path": "opentelemetry.instrumentation.runtime/1.9.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net462/OpenTelemetry.Instrumentation.Runtime.dll",
+ "lib/net462/OpenTelemetry.Instrumentation.Runtime.xml",
+ "lib/net6.0/OpenTelemetry.Instrumentation.Runtime.dll",
+ "lib/net6.0/OpenTelemetry.Instrumentation.Runtime.xml",
+ "lib/netstandard2.0/OpenTelemetry.Instrumentation.Runtime.dll",
+ "lib/netstandard2.0/OpenTelemetry.Instrumentation.Runtime.xml",
+ "opentelemetry-icon-color.png",
+ "opentelemetry.instrumentation.runtime.1.9.0.nupkg.sha512",
+ "opentelemetry.instrumentation.runtime.nuspec"
+ ]
+ },
+ "Pipelines.Sockets.Unofficial/2.2.8": {
+ "sha512": "zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==",
+ "type": "package",
+ "path": "pipelines.sockets.unofficial/2.2.8",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net461/Pipelines.Sockets.Unofficial.dll",
+ "lib/net461/Pipelines.Sockets.Unofficial.xml",
+ "lib/net472/Pipelines.Sockets.Unofficial.dll",
+ "lib/net472/Pipelines.Sockets.Unofficial.xml",
+ "lib/net5.0/Pipelines.Sockets.Unofficial.dll",
+ "lib/net5.0/Pipelines.Sockets.Unofficial.xml",
+ "lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.dll",
+ "lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.xml",
+ "lib/netstandard2.0/Pipelines.Sockets.Unofficial.dll",
+ "lib/netstandard2.0/Pipelines.Sockets.Unofficial.xml",
+ "lib/netstandard2.1/Pipelines.Sockets.Unofficial.dll",
+ "lib/netstandard2.1/Pipelines.Sockets.Unofficial.xml",
+ "pipelines.sockets.unofficial.2.2.8.nupkg.sha512",
+ "pipelines.sockets.unofficial.nuspec"
+ ]
+ },
+ "Polly.Core/8.4.2": {
+ "sha512": "BpE2I6HBYYA5tF0Vn4eoQOGYTYIK1BlF5EXVgkWGn3mqUUjbXAr13J6fZVbp7Q3epRR8yshacBMlsHMhpOiV3g==",
+ "type": "package",
+ "path": "polly.core/8.4.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net462/Polly.Core.dll",
+ "lib/net462/Polly.Core.pdb",
+ "lib/net462/Polly.Core.xml",
+ "lib/net472/Polly.Core.dll",
+ "lib/net472/Polly.Core.pdb",
+ "lib/net472/Polly.Core.xml",
+ "lib/net6.0/Polly.Core.dll",
+ "lib/net6.0/Polly.Core.pdb",
+ "lib/net6.0/Polly.Core.xml",
+ "lib/net8.0/Polly.Core.dll",
+ "lib/net8.0/Polly.Core.pdb",
+ "lib/net8.0/Polly.Core.xml",
+ "lib/netstandard2.0/Polly.Core.dll",
+ "lib/netstandard2.0/Polly.Core.pdb",
+ "lib/netstandard2.0/Polly.Core.xml",
+ "package-icon.png",
+ "package-readme.md",
+ "polly.core.8.4.2.nupkg.sha512",
+ "polly.core.nuspec"
+ ]
+ },
+ "Polly.Extensions/8.4.2": {
+ "sha512": "GZ9vRVmR0jV2JtZavt+pGUsQ1O1cuRKG7R7VOZI6ZDy9y6RNPvRvXK1tuS4ffUrv8L0FTea59oEuQzgS0R7zSA==",
+ "type": "package",
+ "path": "polly.extensions/8.4.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net462/Polly.Extensions.dll",
+ "lib/net462/Polly.Extensions.pdb",
+ "lib/net462/Polly.Extensions.xml",
+ "lib/net472/Polly.Extensions.dll",
+ "lib/net472/Polly.Extensions.pdb",
+ "lib/net472/Polly.Extensions.xml",
+ "lib/net6.0/Polly.Extensions.dll",
+ "lib/net6.0/Polly.Extensions.pdb",
+ "lib/net6.0/Polly.Extensions.xml",
+ "lib/net8.0/Polly.Extensions.dll",
+ "lib/net8.0/Polly.Extensions.pdb",
+ "lib/net8.0/Polly.Extensions.xml",
+ "lib/netstandard2.0/Polly.Extensions.dll",
+ "lib/netstandard2.0/Polly.Extensions.pdb",
+ "lib/netstandard2.0/Polly.Extensions.xml",
+ "package-icon.png",
+ "package-readme.md",
+ "polly.extensions.8.4.2.nupkg.sha512",
+ "polly.extensions.nuspec"
+ ]
+ },
+ "Polly.RateLimiting/8.4.2": {
+ "sha512": "ehTImQ/eUyO07VYW2WvwSmU9rRH200SKJ/3jku9rOkyWE0A2JxNFmAVms8dSn49QLSjmjFRRSgfNyOgr/2PSmA==",
+ "type": "package",
+ "path": "polly.ratelimiting/8.4.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net462/Polly.RateLimiting.dll",
+ "lib/net462/Polly.RateLimiting.pdb",
+ "lib/net462/Polly.RateLimiting.xml",
+ "lib/net472/Polly.RateLimiting.dll",
+ "lib/net472/Polly.RateLimiting.pdb",
+ "lib/net472/Polly.RateLimiting.xml",
+ "lib/net6.0/Polly.RateLimiting.dll",
+ "lib/net6.0/Polly.RateLimiting.pdb",
+ "lib/net6.0/Polly.RateLimiting.xml",
+ "lib/net8.0/Polly.RateLimiting.dll",
+ "lib/net8.0/Polly.RateLimiting.pdb",
+ "lib/net8.0/Polly.RateLimiting.xml",
+ "lib/netstandard2.0/Polly.RateLimiting.dll",
+ "lib/netstandard2.0/Polly.RateLimiting.pdb",
+ "lib/netstandard2.0/Polly.RateLimiting.xml",
+ "package-icon.png",
+ "package-readme.md",
+ "polly.ratelimiting.8.4.2.nupkg.sha512",
+ "polly.ratelimiting.nuspec"
+ ]
+ },
+ "StackExchange.Redis/2.9.11": {
+ "sha512": "3J0qv0qFhMeCe2ZApnbbC6ZgNs/iTdmqvFyN/tIw5A0CTlABF1BJh86D3Cf03V9FoftvqeKeAnOkJAHTHpm1xA==",
+ "type": "package",
+ "path": "stackexchange.redis/2.9.11",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "README.md",
+ "lib/net461/StackExchange.Redis.dll",
+ "lib/net461/StackExchange.Redis.xml",
+ "lib/net472/StackExchange.Redis.dll",
+ "lib/net472/StackExchange.Redis.xml",
+ "lib/net6.0/StackExchange.Redis.dll",
+ "lib/net6.0/StackExchange.Redis.xml",
+ "lib/net8.0/StackExchange.Redis.dll",
+ "lib/net8.0/StackExchange.Redis.xml",
+ "lib/netcoreapp3.1/StackExchange.Redis.dll",
+ "lib/netcoreapp3.1/StackExchange.Redis.xml",
+ "lib/netstandard2.0/StackExchange.Redis.dll",
+ "lib/netstandard2.0/StackExchange.Redis.xml",
+ "stackexchange.redis.2.9.11.nupkg.sha512",
+ "stackexchange.redis.nuspec"
+ ]
+ },
+ "Swashbuckle.AspNetCore/6.6.2": {
+ "sha512": "+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==",
+ "type": "package",
+ "path": "swashbuckle.aspnetcore/6.6.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "build/Swashbuckle.AspNetCore.props",
+ "swashbuckle.aspnetcore.6.6.2.nupkg.sha512",
+ "swashbuckle.aspnetcore.nuspec"
+ ]
+ },
+ "Swashbuckle.AspNetCore.Swagger/6.6.2": {
+ "sha512": "ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==",
+ "type": "package",
+ "path": "swashbuckle.aspnetcore.swagger/6.6.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll",
+ "lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb",
+ "lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml",
+ "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll",
+ "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb",
+ "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml",
+ "lib/net7.0/Swashbuckle.AspNetCore.Swagger.dll",
+ "lib/net7.0/Swashbuckle.AspNetCore.Swagger.pdb",
+ "lib/net7.0/Swashbuckle.AspNetCore.Swagger.xml",
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll",
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.pdb",
+ "lib/net8.0/Swashbuckle.AspNetCore.Swagger.xml",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml",
+ "package-readme.md",
+ "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512",
+ "swashbuckle.aspnetcore.swagger.nuspec"
+ ]
+ },
+ "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": {
+ "sha512": "zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==",
+ "type": "package",
+ "path": "swashbuckle.aspnetcore.swaggergen/6.6.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
+ "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
+ "lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
+ "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
+ "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
+ "lib/net7.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
+ "package-readme.md",
+ "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512",
+ "swashbuckle.aspnetcore.swaggergen.nuspec"
+ ]
+ },
+ "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": {
+ "sha512": "mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==",
+ "type": "package",
+ "path": "swashbuckle.aspnetcore.swaggerui/6.6.2",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
+ "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
+ "lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
+ "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
+ "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
+ "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
+ "lib/net7.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
+ "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
+ "lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
+ "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
+ "package-readme.md",
+ "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512",
+ "swashbuckle.aspnetcore.swaggerui.nuspec"
+ ]
+ },
+ "System.Diagnostics.DiagnosticSource/8.0.0": {
+ "sha512": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==",
+ "type": "package",
+ "path": "system.diagnostics.diagnosticsource/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets",
+ "lib/net462/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net462/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net6.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net6.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net7.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net7.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml",
+ "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512",
+ "system.diagnostics.diagnosticsource.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.IO.Pipelines/8.0.0": {
+ "sha512": "FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA==",
+ "type": "package",
+ "path": "system.io.pipelines/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.IO.Pipelines.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets",
+ "lib/net462/System.IO.Pipelines.dll",
+ "lib/net462/System.IO.Pipelines.xml",
+ "lib/net6.0/System.IO.Pipelines.dll",
+ "lib/net6.0/System.IO.Pipelines.xml",
+ "lib/net7.0/System.IO.Pipelines.dll",
+ "lib/net7.0/System.IO.Pipelines.xml",
+ "lib/net8.0/System.IO.Pipelines.dll",
+ "lib/net8.0/System.IO.Pipelines.xml",
+ "lib/netstandard2.0/System.IO.Pipelines.dll",
+ "lib/netstandard2.0/System.IO.Pipelines.xml",
+ "system.io.pipelines.8.0.0.nupkg.sha512",
+ "system.io.pipelines.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Memory/4.5.3": {
+ "sha512": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
+ "type": "package",
+ "path": "system.memory/4.5.3",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "lib/netcoreapp2.1/_._",
+ "lib/netstandard1.1/System.Memory.dll",
+ "lib/netstandard1.1/System.Memory.xml",
+ "lib/netstandard2.0/System.Memory.dll",
+ "lib/netstandard2.0/System.Memory.xml",
+ "ref/netcoreapp2.1/_._",
+ "system.memory.4.5.3.nupkg.sha512",
+ "system.memory.nuspec",
+ "useSharedDesignerContext.txt",
+ "version.txt"
+ ]
+ },
+ "System.Threading.RateLimiting/8.0.0": {
+ "sha512": "7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==",
+ "type": "package",
+ "path": "system.threading.ratelimiting/8.0.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "LICENSE.TXT",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.Threading.RateLimiting.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net6.0/_._",
+ "buildTransitive/netcoreapp2.0/System.Threading.RateLimiting.targets",
+ "lib/net462/System.Threading.RateLimiting.dll",
+ "lib/net462/System.Threading.RateLimiting.xml",
+ "lib/net6.0/System.Threading.RateLimiting.dll",
+ "lib/net6.0/System.Threading.RateLimiting.xml",
+ "lib/net7.0/System.Threading.RateLimiting.dll",
+ "lib/net7.0/System.Threading.RateLimiting.xml",
+ "lib/net8.0/System.Threading.RateLimiting.dll",
+ "lib/net8.0/System.Threading.RateLimiting.xml",
+ "lib/netstandard2.0/System.Threading.RateLimiting.dll",
+ "lib/netstandard2.0/System.Threading.RateLimiting.xml",
+ "system.threading.ratelimiting.8.0.0.nupkg.sha512",
+ "system.threading.ratelimiting.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "CloudDevelopment.ServiceDefaults/1.0.0": {
+ "type": "project",
+ "path": "../CloudDevelopment.ServiceDefaults/CloudDevelopment.ServiceDefaults.csproj",
+ "msbuildProject": "../CloudDevelopment.ServiceDefaults/CloudDevelopment.ServiceDefaults.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net8.0": [
+ "AWSSDK.Extensions.NETCore.Setup >= 4.0.3.33",
+ "AWSSDK.SQS >= 4.0.2.15",
+ "Aspire.StackExchange.Redis.DistributedCaching >= 9.5.2",
+ "Bogus >= 35.6.5",
+ "CloudDevelopment.ServiceDefaults >= 1.0.0",
+ "LocalStack.Client >= 2.0.0",
+ "LocalStack.Client.Extensions >= 2.0.0",
+ "Swashbuckle.AspNetCore >= 6.6.2"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\": {},
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj",
+ "projectName": "Service.Api",
+ "projectPath": "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj",
+ "packagesPath": "C:\\Users\\CossieMan2000\\.nuget\\packages\\",
+ "outputPath": "D:\\5_year\\cloud-development\\Generator\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\CossieMan2000\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj": {
+ "projectPath": "D:\\5_year\\cloud-development\\CloudDevelopment.ServiceDefaults\\CloudDevelopment.ServiceDefaults.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "AWSSDK.Extensions.NETCore.Setup": {
+ "target": "Package",
+ "version": "[4.0.3.33, )"
+ },
+ "AWSSDK.SQS": {
+ "target": "Package",
+ "version": "[4.0.2.15, )"
+ },
+ "Aspire.StackExchange.Redis.DistributedCaching": {
+ "target": "Package",
+ "version": "[9.5.2, )"
+ },
+ "Bogus": {
+ "target": "Package",
+ "version": "[35.6.5, )"
+ },
+ "LocalStack.Client": {
+ "target": "Package",
+ "version": "[2.0.0, )"
+ },
+ "LocalStack.Client.Extensions": {
+ "target": "Package",
+ "version": "[2.0.0, )"
+ },
+ "Swashbuckle.AspNetCore": {
+ "target": "Package",
+ "version": "[6.6.2, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.AspNetCore.App": {
+ "privateAssets": "none"
+ },
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.311/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Generator/obj/project.nuget.cache b/Generator/obj/project.nuget.cache
new file mode 100644
index 00000000..34439c07
--- /dev/null
+++ b/Generator/obj/project.nuget.cache
@@ -0,0 +1,78 @@
+{
+ "version": 2,
+ "dgSpecHash": "rCP1daXzdgM=",
+ "success": true,
+ "projectFilePath": "D:\\5_year\\cloud-development\\Generator\\Service.Api.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\aspire.stackexchange.redis\\9.5.2\\aspire.stackexchange.redis.9.5.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\aspire.stackexchange.redis.distributedcaching\\9.5.2\\aspire.stackexchange.redis.distributedcaching.9.5.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\aspnetcore.healthchecks.redis\\9.0.0\\aspnetcore.healthchecks.redis.9.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\awssdk.core\\4.0.3.29\\awssdk.core.4.0.3.29.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\awssdk.extensions.netcore.setup\\4.0.3.33\\awssdk.extensions.netcore.setup.4.0.3.33.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\awssdk.sqs\\4.0.2.15\\awssdk.sqs.4.0.2.15.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\bogus\\35.6.5\\bogus.35.6.5.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\google.protobuf\\3.22.5\\google.protobuf.3.22.5.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\grpc.core.api\\2.52.0\\grpc.core.api.2.52.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\grpc.net.client\\2.52.0\\grpc.net.client.2.52.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\grpc.net.common\\2.52.0\\grpc.net.common.2.52.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\localstack.client\\2.0.0\\localstack.client.2.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\localstack.client.extensions\\2.0.0\\localstack.client.extensions.2.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.ambientmetadata.application\\9.9.0\\microsoft.extensions.ambientmetadata.application.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\8.0.0\\microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.caching.stackexchangeredis\\8.0.20\\microsoft.extensions.caching.stackexchangeredis.8.0.20.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.compliance.abstractions\\9.9.0\\microsoft.extensions.compliance.abstractions.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.2\\microsoft.extensions.configuration.binder.8.0.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.1\\microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.2\\microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.dependencyinjection.autoactivation\\9.9.0\\microsoft.extensions.dependencyinjection.autoactivation.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.1\\microsoft.extensions.diagnostics.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.1\\microsoft.extensions.diagnostics.abstractions.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.diagnostics.exceptionsummarization\\9.9.0\\microsoft.extensions.diagnostics.exceptionsummarization.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.diagnostics.healthchecks\\8.0.20\\microsoft.extensions.diagnostics.healthchecks.8.0.20.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.diagnostics.healthchecks.abstractions\\8.0.20\\microsoft.extensions.diagnostics.healthchecks.abstractions.8.0.20.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.features\\8.0.20\\microsoft.extensions.features.8.0.20.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.1\\microsoft.extensions.hosting.abstractions.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.http\\8.0.1\\microsoft.extensions.http.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.http.diagnostics\\9.9.0\\microsoft.extensions.http.diagnostics.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.http.resilience\\9.9.0\\microsoft.extensions.http.resilience.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.logging\\8.0.1\\microsoft.extensions.logging.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.3\\microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.1\\microsoft.extensions.logging.configuration.8.0.1.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.objectpool\\8.0.20\\microsoft.extensions.objectpool.8.0.20.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.options\\8.0.2\\microsoft.extensions.options.8.0.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.resilience\\9.9.0\\microsoft.extensions.resilience.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.servicediscovery\\9.5.0\\microsoft.extensions.servicediscovery.9.5.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.servicediscovery.abstractions\\9.5.0\\microsoft.extensions.servicediscovery.abstractions.9.5.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.telemetry\\9.9.0\\microsoft.extensions.telemetry.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.extensions.telemetry.abstractions\\9.9.0\\microsoft.extensions.telemetry.abstractions.9.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\microsoft.openapi\\1.6.14\\microsoft.openapi.1.6.14.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry\\1.9.0\\opentelemetry.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.api\\1.9.0\\opentelemetry.api.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.api.providerbuilderextensions\\1.9.0\\opentelemetry.api.providerbuilderextensions.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.exporter.opentelemetryprotocol\\1.9.0\\opentelemetry.exporter.opentelemetryprotocol.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.extensions.hosting\\1.9.0\\opentelemetry.extensions.hosting.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.instrumentation.aspnetcore\\1.9.0\\opentelemetry.instrumentation.aspnetcore.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.instrumentation.http\\1.9.0\\opentelemetry.instrumentation.http.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\opentelemetry.instrumentation.runtime\\1.9.0\\opentelemetry.instrumentation.runtime.1.9.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\pipelines.sockets.unofficial\\2.2.8\\pipelines.sockets.unofficial.2.2.8.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\polly.core\\8.4.2\\polly.core.8.4.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\polly.extensions\\8.4.2\\polly.extensions.8.4.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\polly.ratelimiting\\8.4.2\\polly.ratelimiting.8.4.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\stackexchange.redis\\2.9.11\\stackexchange.redis.2.9.11.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\swashbuckle.aspnetcore\\6.6.2\\swashbuckle.aspnetcore.6.6.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.6.2\\swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.6.2\\swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.6.2\\swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\system.io.pipelines\\8.0.0\\system.io.pipelines.8.0.0.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512",
+ "C:\\Users\\CossieMan2000\\.nuget\\packages\\system.threading.ratelimiting\\8.0.0\\system.threading.ratelimiting.8.0.0.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/IntegrationTests/IntegrationTests.cs b/IntegrationTests/IntegrationTests.cs
new file mode 100644
index 00000000..e39c509b
--- /dev/null
+++ b/IntegrationTests/IntegrationTests.cs
@@ -0,0 +1,79 @@
+using Aspire.Hosting;
+using Microsoft.Extensions.Logging;
+using Service.Api.Dto;
+using System.Net.Http.Json;
+using System.Text.Json;
+using Xunit.Abstractions;
+
+namespace IntegrationTests;
+
+///
+///
+///
+/// -
+public class IntegrationTests(ITestOutputHelper output) : IAsyncLifetime
+{
+ private IDistributedApplicationTestingBuilder? _builder;
+ private DistributedApplication? _app;
+
+ ///
+ public async Task InitializeAsync()
+ {
+ var cancellationToken = CancellationToken.None;
+ _builder = await DistributedApplicationTestingBuilder.CreateAsync(cancellationToken);
+ _builder.Configuration["DcpPublisher:RandomizePorts"] = "false";
+ _builder.Services.AddLogging(logging =>
+ {
+ logging.AddXUnit(output);
+ logging.SetMinimumLevel(LogLevel.Debug);
+ logging.AddFilter("Aspire.Hosting.Dcp", LogLevel.Debug);
+ logging.AddFilter("Aspire.Hosting", LogLevel.Debug);
+ });
+ }
+
+ ///
+ /// , :
+ ///
+ /// -
+ /// - S3
+ /// - ,
+ ///
+ ///
+ [Theory]
+ [InlineData("Development")]
+ public async Task TestPipeline(string envName)
+ {
+ var cancellationToken = CancellationToken.None;
+ _builder!.Environment.EnvironmentName = envName;
+ _app = await _builder.BuildAsync(cancellationToken);
+ await _app.StartAsync(cancellationToken);
+
+ var random = new Random();
+ var id = random.Next(1, 100);
+ using var gatewayClient = _app.CreateHttpClient("gateway", "http");
+ using var gatewayResponse = await gatewayClient!.GetAsync($"/api/orders?id={id}");
+ var api = await gatewayResponse.Content.ReadFromJsonAsync(cancellationToken: cancellationToken);
+
+ await Task.Delay(5000);
+ using var sinkClient = _app.CreateHttpClient("credit-order-sink", "http");
+ using var listResponse = await sinkClient!.GetAsync($"/api/s3");
+ var ppList = await listResponse.Content.ReadFromJsonAsync>(cancellationToken: cancellationToken);
+ using var s3Response = await sinkClient!.GetAsync($"/api/s3/credit-order_{id}.json");
+ var s3 = await s3Response.Content.ReadFromJsonAsync(cancellationToken: cancellationToken);
+
+ Assert.NotNull(ppList);
+ Assert.Single(ppList);
+ Assert.NotNull(api);
+ Assert.NotNull(s3);
+ Assert.Equal(id, s3.Id);
+ Assert.Equivalent(api, s3);
+ }
+
+ ///
+ public async Task DisposeAsync()
+ {
+ await _app!.StopAsync();
+ await _app.DisposeAsync();
+ await _builder!.DisposeAsync();
+ }
+}
diff --git a/IntegrationTests/IntegrationTests.csproj b/IntegrationTests/IntegrationTests.csproj
new file mode 100644
index 00000000..c1770f85
--- /dev/null
+++ b/IntegrationTests/IntegrationTests.csproj
@@ -0,0 +1,33 @@
+
+
+
+ net8.0
+ enable
+ enable
+ false
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Service.Storage/Controllers/S3StorageController.cs b/Service.Storage/Controllers/S3StorageController.cs
new file mode 100644
index 00000000..29fda622
--- /dev/null
+++ b/Service.Storage/Controllers/S3StorageController.cs
@@ -0,0 +1,67 @@
+using Microsoft.AspNetCore.Mvc;
+using Service.Storage.Storage;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.Json.Nodes;
+using System.Threading.Tasks;
+
+namespace Service.Storage.Controllers;
+
+///
+/// Контроллер для взаимодейсвия с S3
+///
+/// Служба для работы с S3
+/// Логгер
+[ApiController]
+[Route("api/s3")]
+public class S3StorageController(S3MinioService s3Service, ILogger logger) : ControllerBase
+{
+ ///
+ /// Метод для получения списка хранящихся в S3 файлов
+ ///
+ /// Список с ключами файлов
+ [HttpGet]
+ [ProducesResponseType(200)]
+ [ProducesResponseType(500)]
+ public async Task>> ListFiles()
+ {
+ logger.LogInformation("Method {method} of {controller} was called", nameof(ListFiles), nameof(S3StorageController));
+ try
+ {
+ var list = await s3Service.GetFileList();
+ logger.LogInformation("Got a list of {count} files from bucket", list.Count);
+ return Ok(list);
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Exception occured during {method} of {controller}", nameof(ListFiles), nameof(S3StorageController));
+ return BadRequest(ex);
+ }
+ }
+
+ ///
+ /// Получает строковое представление хранящегося в S3 документа
+ ///
+ /// Ключ файла
+ /// Строковое представление файла
+ [HttpGet("{key}")]
+ [ProducesResponseType(200)]
+ [ProducesResponseType(500)]
+ public async Task> GetFile(string key)
+ {
+ logger.LogInformation("Method {method} of {controller} was called", nameof(GetFile), nameof(S3StorageController));
+ try
+ {
+ var node = await s3Service.DownloadFile(key);
+ logger.LogInformation("Received json of {size} bytes", Encoding.UTF8.GetByteCount(node.ToJsonString()));
+ return Ok(node);
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Exception occured during {method} of {controller}", nameof(GetFile), nameof(S3StorageController));
+ return BadRequest(ex);
+ }
+ }
+}
diff --git a/Service.Storage/Messaging/SqsConsumerService.cs b/Service.Storage/Messaging/SqsConsumerService.cs
new file mode 100644
index 00000000..c14ab5d3
--- /dev/null
+++ b/Service.Storage/Messaging/SqsConsumerService.cs
@@ -0,0 +1,78 @@
+using Amazon.SQS;
+using Amazon.SQS.Model;
+using Service.Storage.Storage;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Service.Storage.Messaging;
+
+///
+/// Клиентская служба для приема сообщений из очереди SQS
+///
+/// Клиент SQS
+/// Фабрика контекста
+/// Конфигурация
+/// Логгер
+internal class SqsConsumerService(IAmazonSQS sqsClient,
+ IServiceScopeFactory scopeFactory,
+ IConfiguration configuration,
+ ILogger logger) : BackgroundService
+{
+ private readonly string _queueName = configuration["AWS:Resources:SQSQueueName"]
+ ?? throw new KeyNotFoundException("SQS queue name was not found in configuration");
+
+ ///
+ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
+ {
+ logger.LogInformation("SQS consumer service started.");
+
+ var queueUrlResponse = await sqsClient.GetQueueUrlAsync(_queueName, stoppingToken);
+ var queueUrl = queueUrlResponse.QueueUrl;
+
+ while (!stoppingToken.IsCancellationRequested)
+ {
+ var response = await sqsClient.ReceiveMessageAsync(
+ new ReceiveMessageRequest
+ {
+ QueueUrl = queueUrl,
+ MaxNumberOfMessages = 10,
+ WaitTimeSeconds = 5
+ }, stoppingToken);
+
+ if (response == null)
+ {
+ logger.LogWarning("Received null from {queue}", _queueName);
+ continue;
+ }
+
+ logger.LogInformation("Received {count} messages", response!.Messages?.Count ?? 0);
+
+ if (response.Messages != null)
+ {
+
+ foreach (var message in response.Messages)
+ {
+ try
+ {
+ logger.LogInformation("Processing message: {messageId}", message.MessageId);
+
+ using var scope = scopeFactory.CreateScope();
+ var s3Service = scope.ServiceProvider.GetRequiredService();
+ await s3Service.UploadFile(message.Body);
+
+ _ = await sqsClient.DeleteMessageAsync(queueUrl, message.ReceiptHandle, stoppingToken);
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Error processing message: {messageId}", message.MessageId);
+ continue;
+ }
+ }
+ logger.LogInformation("Batch of {count} messages processed", response.Messages.Count);
+ }
+ }
+ }
+}
diff --git a/Service.Storage/Program.cs b/Service.Storage/Program.cs
new file mode 100644
index 00000000..2b0c4de9
--- /dev/null
+++ b/Service.Storage/Program.cs
@@ -0,0 +1,15 @@
+using Service.Storage;
+using CloudDevelopment.ServiceDefaults;
+
+var builder = WebApplication.CreateBuilder(args);
+builder.AddServiceDefaults();
+
+builder.Services.AddControllers();
+builder.Services.AddEndpointsApiExplorer();
+builder.AddConsumer();
+builder.AddS3();
+
+var app = builder.Build();
+await app.UseS3();
+app.MapControllers();
+app.Run();
\ No newline at end of file
diff --git a/Service.Storage/Properties/launchSettings.json b/Service.Storage/Properties/launchSettings.json
new file mode 100644
index 00000000..6de66028
--- /dev/null
+++ b/Service.Storage/Properties/launchSettings.json
@@ -0,0 +1,12 @@
+{
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "Service.Storage": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "environmentVariables": {
+ "DOTNET_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/Service.Storage/Service.Storage.csproj b/Service.Storage/Service.Storage.csproj
new file mode 100644
index 00000000..16edd60a
--- /dev/null
+++ b/Service.Storage/Service.Storage.csproj
@@ -0,0 +1,21 @@
+
+
+
+ net8.0
+ enable
+ enable
+ dotnet-Service.Storage-25720c3a-f495-4948-ba5d-74e7ae702072
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Service.Storage/Storage/S3MinioService.cs b/Service.Storage/Storage/S3MinioService.cs
new file mode 100644
index 00000000..b64ee966
--- /dev/null
+++ b/Service.Storage/Storage/S3MinioService.cs
@@ -0,0 +1,129 @@
+using System.Net;
+using System.Text;
+using System.Text.Json.Nodes;
+using Minio;
+using Minio.DataModel.Args;
+
+namespace Service.Storage.Storage;
+
+///
+/// Cлужба для манипуляции файлами в объектном хранилище
+///
+/// S3 клиент
+/// Конфигурация
+/// Логер
+public class S3MinioService(IMinioClient client, IConfiguration configuration, ILogger logger)
+{
+ private readonly string _bucketName = configuration["AWS:Resources:MinioBucketName"]
+ ?? throw new KeyNotFoundException("S3 bucket name was not found in configuration");
+
+ ///
+ public async Task> GetFileList()
+ {
+ var list = new List();
+ var request = new ListObjectsArgs()
+ .WithBucket(_bucketName)
+ .WithPrefix("")
+ .WithRecursive(true);
+ logger.LogInformation("Began listing files in {bucket}", _bucketName);
+ var responseList = client.ListObjectsEnumAsync(request);
+
+ if (responseList == null)
+ logger.LogWarning("Received null response from {bucket}", _bucketName);
+
+ await foreach (var response in responseList!)
+ list.Add(response.Key);
+ return list;
+ }
+
+ ///
+ public async Task UploadFile(string fileData)
+ {
+ var rootNode = JsonNode.Parse(fileData) ?? throw new ArgumentException("Passed string is not a valid JSON");
+ var id = rootNode["Id"]?.GetValue() ?? throw new ArgumentException("Passed JSON has invalid structure");
+
+ var bytes = Encoding.UTF8.GetBytes(fileData);
+ using var stream = new MemoryStream(bytes);
+ stream.Seek(0, SeekOrigin.Begin);
+
+ logger.LogInformation("Began uploading credit order {file} onto {bucket}", id, _bucketName);
+ var request = new PutObjectArgs()
+ .WithBucket(_bucketName)
+ .WithStreamData(stream)
+ .WithObjectSize(bytes.Length)
+ .WithObject($"credit-order_{id}.json");
+
+ var response = await client.PutObjectAsync(request);
+
+ if (response.ResponseStatusCode != HttpStatusCode.OK)
+ {
+ logger.LogError("Failed to upload credit order {file}: {code}", id, response.ResponseStatusCode);
+ return false;
+ }
+ logger.LogInformation("Finished uploading credit order {file} to {bucket}", id, _bucketName);
+ return true;
+ }
+
+ ///
+ public async Task DownloadFile(string key)
+ {
+ logger.LogInformation("Began downloading {file} from {bucket}", key, _bucketName);
+
+ try
+ {
+ var memoryStream = new MemoryStream();
+
+ var request = new GetObjectArgs()
+ .WithBucket(_bucketName)
+ .WithObject(key)
+ .WithCallbackStream(async (stream, cancellationToken) =>
+ {
+ await stream.CopyToAsync(memoryStream, cancellationToken);
+ memoryStream.Seek(0, SeekOrigin.Begin);
+ });
+
+ var response = await client.GetObjectAsync(request);
+
+ if (response == null)
+ {
+ logger.LogError("Failed to download {file}", key);
+ throw new InvalidOperationException($"Error occurred downloading {key} - object is null");
+ }
+ using var reader = new StreamReader(memoryStream, Encoding.UTF8);
+ return JsonNode.Parse(reader.ReadToEnd()) ?? throw new InvalidOperationException($"Downloaded document is not a valid JSON");
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Exception occurred during {file} downloading ", key);
+ throw;
+ }
+ }
+
+ ///
+ public async Task EnsureBucketExists()
+ {
+ logger.LogInformation("Checking whether {bucket} exists", _bucketName);
+ try
+ {
+ var request = new BucketExistsArgs()
+ .WithBucket(_bucketName);
+
+ var exists = await client.BucketExistsAsync(request);
+ if (!exists)
+ {
+
+ logger.LogInformation("Creating {bucket}", _bucketName);
+ var createRequest = new MakeBucketArgs()
+ .WithBucket(_bucketName);
+ await client.MakeBucketAsync(createRequest);
+ return;
+ }
+ logger.LogInformation("{bucket} exists", _bucketName);
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Unhandled exception occurred during {bucket} check", _bucketName);
+ throw;
+ }
+ }
+}
diff --git a/Service.Storage/WebApplicationBuilderExtensions.cs b/Service.Storage/WebApplicationBuilderExtensions.cs
new file mode 100644
index 00000000..3cd504f7
--- /dev/null
+++ b/Service.Storage/WebApplicationBuilderExtensions.cs
@@ -0,0 +1,39 @@
+using Amazon.SQS;
+using Service.Storage.Messaging;
+using Service.Storage.Storage;
+using LocalStack.Client.Extensions;
+
+namespace Service.Storage;
+
+///
+/// Экстеншен для добавления различных служб в DI в зависимости от конфигурации приложения
+///
+internal static class WebApplicationBuilderExtensions
+{
+ ///
+ /// Регистрирует клиентские службы для работы с брокером сообщений
+ ///
+ /// Билдер
+ /// Билдер
+ /// Если настройки не найдены
+ public static WebApplicationBuilder AddConsumer(this WebApplicationBuilder builder)
+ {
+ builder.Services.AddLocalStack(builder.Configuration);
+ builder.Services.AddHostedService();
+ builder.Services.AddAwsService();
+ return builder;
+ }
+
+ ///
+ /// Регистрирует клиентские службы для работы с объектным хранилищем
+ ///
+ /// Билдер
+ /// Билдер
+ /// Если настройки не найдены
+ public static WebApplicationBuilder AddS3(this WebApplicationBuilder builder)
+ {
+ builder.AddMinioClient("credit-order-minio");
+ builder.Services.AddScoped();
+ return builder;
+ }
+}
diff --git a/Service.Storage/WebApplicationExtensions.cs b/Service.Storage/WebApplicationExtensions.cs
new file mode 100644
index 00000000..fffc3756
--- /dev/null
+++ b/Service.Storage/WebApplicationExtensions.cs
@@ -0,0 +1,35 @@
+using Microsoft.AspNetCore.Builder;
+using Service.Storage.Storage;
+using Service.Storage.Messaging;
+
+namespace Service.Storage;
+
+///
+/// Экстеншен для добавления брокера в зависимости от конфигурации приложения
+///
+internal static class WebApplicationExtensions
+{
+ ///
+ /// Конфигурирует клиенские службы для взаимодействия с брокером сообщений
+ ///
+ /// Билдер
+ /// Билдер
+ /// Если настройки не найдены
+ public static WebApplication UseConsumer(this WebApplication app)
+ {
+ return app;
+ }
+
+ ///
+ /// Конфигурирует клиенские службы для взаимодействия с S3
+ ///
+ /// Билдер
+ /// Билдер
+ public static async Task UseS3(this WebApplication app)
+ {
+ using var scope = app.Services.CreateScope();
+ var s3Service = scope.ServiceProvider.GetRequiredService();
+ await s3Service.EnsureBucketExists();
+ return app;
+ }
+}
diff --git a/Service.Storage/appsettings.Development.json b/Service.Storage/appsettings.Development.json
new file mode 100644
index 00000000..b2dcdb67
--- /dev/null
+++ b/Service.Storage/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ }
+}
diff --git a/Service.Storage/appsettings.json b/Service.Storage/appsettings.json
new file mode 100644
index 00000000..3af72038
--- /dev/null
+++ b/Service.Storage/appsettings.json
@@ -0,0 +1,13 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+ "Settings": {
+ "MessageBroker": "",
+ "S3Hosting": ""
+ }
+}
\ No newline at end of file