在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Skoruba Duende IdentityServer 管理界面与 Asp.Net Core Identity 源码下载

Skoruba Duende IdentityServer 管理界面与 Asp.Net Core Identity 源码下载

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:11.61M
  • 下载次数:1
  • 浏览次数:40
  • 发布时间:2024-04-02
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】
Skoruba Duende IdentityServer Admin 是一个基于 Asp.Net Core MVC 编写的应用程序,用于管理 Duende IdentityServer 和 Asp.Net Core Identity。该项目使用 .NET 8.0 开发,要求安装最新的 .NET 8 SDK。通过 dotnet new 模板可以轻松安装和创建新项目。

安装模板:
dotnet new install Skoruba.Duende.IdentityServer.Admin.Templates::2.0.0
创建新项目:
dotnet new skoruba.duende.isadmin --name MyProject --title MyProject --adminemail "admin@example.com" --adminpassword "Pa$$word123" --adminrole MyRole --adminclientid MyClientId --adminclientsecret MyClientSecret --dockersupport true
此外,项目还提供了如何配置管理界面以使用现有的 Duende IdentityServer 和 Asp.Net Core Identity 的详细步骤。

管理界面支持多种数据库提供者,包括 SQL Server、MySQL 和 PostgreSQL,并提供了详细的数据库连接字符串示例。通过 EF Core 运行实体框架迁移,并支持通过 PowerShell 脚本添加迁移。

项目还包含了丰富的自定义选项,例如主题选择、日志记录、本地化支持等,以及如何配置 Azure Key Vault、健康检查和外部提供者(如 GitHub、AzureAD)的详细指南。
【实例截图】
【核心代码】
文件清单
└── Duende.IdentityServer.Admin-4feea1a7f38bf3fd04cb1c2fb07feeb5b7f3db6c
    ├── build
    │   ├── add-migrations.ps1
    │   ├── create-nuget-packages.ps1
    │   ├── publish-docker-images.ps1
    │   ├── publish-nuget-packages.ps1
    │   ├── publish-nuget-project-template.ps1
    │   ├── rollback-migrations.ps1
    │   └── update-projects-version.ps1
    ├── Directory.Build.props
    ├── docker-compose.dcproj
    ├── docker-compose.override.yml
    ├── docker-compose.vs.debug.yml
    ├── docker-compose.vs.release.yml
    ├── docker-compose.yml
    ├── docs
    │   ├── Configure-Administration.md
    │   ├── Configure-Azure-Deploy.md
    │   ├── Configure-Ubuntu-PostgreSQL-Tutorial.md
    │   ├── Images
    │   │   ├── Admin-Swagger-UI.PNG
    │   │   ├── App
    │   │   │   ├── Skoruba-Api-Preview.PNG
    │   │   │   ├── Skoruba-Client-Edit-Preview.PNG
    │   │   │   ├── Skoruba-Client-Preview.PNG
    │   │   │   ├── Skoruba-Forms-Preview.PNG
    │   │   │   ├── Skoruba-Home-Preview-Dark.PNG
    │   │   │   ├── Skoruba-Home-Preview.PNG
    │   │   │   └── Skoruba-STS-Home-Preview.PNG
    │   │   ├── certificate_upload.PNG
    │   │   ├── https_always.PNG
    │   │   ├── Skoruba.Duende.IdentityServer.Admin-App-Diagram.png
    │   │   ├── Skoruba.Duende.IdentityServer.Admin-Logo-Nuget.png
    │   │   ├── Skoruba.Duende.IdentityServer.Admin-Logo-ReadMe.png
    │   │   └── Skoruba.Duende.IdentityServer.Admin-Solution.png
    │   ├── index.rst
    │   └── README.md
    ├── LICENSE
    ├── README.md
    ├── shared
    │   ├── identitydata.json
    │   ├── identityserverdata.json
    │   ├── nginx
    │   │   └── vhost.d
    │   │       ├── admin.skoruba.local_location
    │   │       └── sts.skoruba.local_location
    │   └── serilog.json
    ├── Skoruba.Duende.IdentityServer.Admin.sln
    ├── src
    │   ├── Skoruba.Duende.IdentityServer.Admin
    │   │   ├── appsettings.json
    │   │   ├── Configuration
    │   │   │   ├── Database
    │   │   │   │   └── MigrationAssemblyConfiguration.cs
    │   │   │   └── Test
    │   │   │       └── StartupTest.cs
    │   │   ├── Dockerfile
    │   │   ├── Helpers
    │   │   │   └── StartupHelpers.cs
    │   │   ├── identitydata.json
    │   │   ├── identityserverdata.json
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── serilog.json
    │   │   ├── Skoruba.Duende.IdentityServer.Admin.csproj
    │   │   └── Startup.cs
    │   ├── Skoruba.Duende.IdentityServer.Admin.Api
    │   │   ├── appsettings.json
    │   │   ├── Configuration
    │   │   │   ├── AdminApiConfiguration.cs
    │   │   │   ├── ApplicationParts
    │   │   │   │   ├── GenericControllerRouteConvention.cs
    │   │   │   │   └── GenericTypeControllerFeatureProvider.cs
    │   │   │   ├── AuditLogging
    │   │   │   │   ├── ApiAuditAction.cs
    │   │   │   │   ├── ApiAuditSubject.cs
    │   │   │   │   └── AuditLoggingConfiguration.cs
    │   │   │   ├── Authorization
    │   │   │   │   └── AuthorizeCheckOperationFilter.cs
    │   │   │   ├── Constants
    │   │   │   │   ├── AuthorizationConsts.cs
    │   │   │   │   └── ConfigurationConsts.cs
    │   │   │   └── Test
    │   │   │       └── StartupTest.cs
    │   │   ├── Controllers
    │   │   │   ├── ApiResourcesController.cs
    │   │   │   ├── ApiScopesController.cs
    │   │   │   ├── ClientsController.cs
    │   │   │   ├── IdentityProvidersController.cs
    │   │   │   ├── IdentityResourcesController.cs
    │   │   │   ├── KeysController.cs
    │   │   │   ├── PersistedGrantsController.cs
    │   │   │   ├── RolesController.cs
    │   │   │   └── UsersController.cs
    │   │   ├── Dockerfile
    │   │   ├── Dtos
    │   │   │   ├── ApiResources
    │   │   │   │   ├── ApiResourceApiDto.cs
    │   │   │   │   ├── ApiResourcePropertiesApiDto.cs
    │   │   │   │   ├── ApiResourcePropertyApiDto.cs
    │   │   │   │   ├── ApiResourcesApiDto.cs
    │   │   │   │   ├── ApiSecretApiDto.cs
    │   │   │   │   └── ApiSecretsApiDto.cs
    │   │   │   ├── ApiScopes
    │   │   │   │   ├── ApiScopeApiDto.cs
    │   │   │   │   ├── ApiScopePropertiesApiDto.cs
    │   │   │   │   ├── ApiScopePropertyApiDto.cs
    │   │   │   │   └── ApiScopesApiDto.cs
    │   │   │   ├── Clients
    │   │   │   │   ├── ClientApiDto.cs
    │   │   │   │   ├── ClientClaimApiDto.cs
    │   │   │   │   ├── ClientClaimsApiDto.cs
    │   │   │   │   ├── ClientCloneApiDto.cs
    │   │   │   │   ├── ClientPropertiesApiDto.cs
    │   │   │   │   ├── ClientPropertyApiDto.cs
    │   │   │   │   ├── ClientsApiDto.cs
    │   │   │   │   ├── ClientSecretApiDto.cs
    │   │   │   │   └── ClientSecretsApiDto.cs
    │   │   │   ├── IdentityProvider
    │   │   │   │   ├── IdentityProviderApiDto.cs
    │   │   │   │   └── IdentityProvidersApiDto.cs
    │   │   │   ├── IdentityResources
    │   │   │   │   ├── IdentityResourceApiDto.cs
    │   │   │   │   ├── IdentityResourcePropertiesApiDto.cs
    │   │   │   │   ├── IdentityResourcePropertyApiDto.cs
    │   │   │   │   └── IdentityResourcesApiDto.cs
    │   │   │   ├── Key
    │   │   │   │   ├── KeyApiDto.cs
    │   │   │   │   └── KeysApiDto.cs
    │   │   │   ├── PersistedGrants
    │   │   │   │   ├── PersistedGrantApiDto.cs
    │   │   │   │   ├── PersistedGrantsApiDto.cs
    │   │   │   │   ├── PersistedGrantSubjectApiDto.cs
    │   │   │   │   └── PersistedGrantSubjectsApiDto.cs
    │   │   │   ├── Roles
    │   │   │   │   ├── RoleClaimApiDto.cs
    │   │   │   │   └── RoleClaimsApiDto.cs
    │   │   │   └── Users
    │   │   │       ├── UserChangePasswordApiDto.cs
    │   │   │       ├── UserClaimApiDto.cs
    │   │   │       ├── UserClaimsApiDto.cs
    │   │   │       ├── UserProviderApiDto.cs
    │   │   │       ├── UserProviderDeleteApiDto.cs
    │   │   │       ├── UserProvidersApiDto.cs
    │   │   │       ├── UserRoleApiDto.cs
    │   │   │       └── UserRolesApiDto.cs
    │   │   ├── ExceptionHandling
    │   │   │   ├── ApiError.cs
    │   │   │   └── ControllerExceptionFilterAttribute.cs
    │   │   ├── Helpers
    │   │   │   ├── Localization
    │   │   │   │   ├── GenericControllerLocalizer.cs
    │   │   │   │   └── IGenericControllerLocalizer.cs
    │   │   │   ├── StartupHelpers.cs
    │   │   │   └── UrlHelpers.cs
    │   │   ├── Mappers
    │   │   │   ├── ApiResourceApiMapperProfile.cs
    │   │   │   ├── ApiResourceApiMappers.cs
    │   │   │   ├── ApiScopeApiMapperProfile.cs
    │   │   │   ├── ApiScopeApiMappers.cs
    │   │   │   ├── ClientApiMapperProfile.cs
    │   │   │   ├── ClientApiMappers.cs
    │   │   │   ├── IdentityMapperProfile.cs
    │   │   │   ├── IdentityProviderApiMapperProfile.cs
    │   │   │   ├── IdentityProviderApiMappers.cs
    │   │   │   ├── IdentityResourceApiMapperProfile.cs
    │   │   │   ├── IdentityResourceApiMappers.cs
    │   │   │   ├── KeyApiMapperProfile.cs
    │   │   │   ├── KeyApiMappers.cs
    │   │   │   ├── PersistedGrantApiMapperProfile.cs
    │   │   │   └── PersistedGrantApiMappers.cs
    │   │   ├── Middlewares
    │   │   │   └── AuthenticatedTestRequestMiddleware.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── Resources
    │   │   │   ├── ApiErrorResource.Designer.cs
    │   │   │   ├── ApiErrorResource.nl.resx
    │   │   │   ├── ApiErrorResource.resx
    │   │   │   ├── ApiErrorResources.cs
    │   │   │   └── IApiErrorResources.cs
    │   │   ├── serilog.json
    │   │   ├── Skoruba.Duende.IdentityServer.Admin.Api.csproj
    │   │   └── Startup.cs
    │   ├── Skoruba.Duende.IdentityServer.Admin.BusinessLogic
    │   │   ├── Dtos
    │   │   │   ├── Configuration
    │   │   │   │   ├── ApiResourceDto.cs
    │   │   │   │   ├── ApiResourcePropertiesDto.cs
    │   │   │   │   ├── ApiResourcePropertyDto.cs
    │   │   │   │   ├── ApiResourcesDto.cs
    │   │   │   │   ├── ApiScopeDto.cs
    │   │   │   │   ├── ApiScopePropertiesDto.cs
    │   │   │   │   ├── ApiScopePropertyDto.cs
    │   │   │   │   ├── ApiScopesDto.cs
    │   │   │   │   ├── ApiSecretDto.cs
    │   │   │   │   ├── ApiSecretsDto.cs
    │   │   │   │   ├── ClientClaimDto.cs
    │   │   │   │   ├── ClientClaimsDto.cs
    │   │   │   │   ├── ClientCloneDto.cs
    │   │   │   │   ├── ClientDto.cs
    │   │   │   │   ├── ClientPropertiesDto.cs
    │   │   │   │   ├── ClientPropertyDto.cs
    │   │   │   │   ├── ClientsDto.cs
    │   │   │   │   ├── ClientSecretDto.cs
    │   │   │   │   ├── ClientSecretsDto.cs
    │   │   │   │   ├── IdentityResourceDto.cs
    │   │   │   │   ├── IdentityResourcePropertiesDto.cs
    │   │   │   │   ├── IdentityResourcePropertyDto.cs
    │   │   │   │   └── IdentityResourcesDto.cs
    │   │   │   ├── Enums
    │   │   │   │   ├── ClientType.cs
    │   │   │   │   └── SavedStatus.cs
    │   │   │   ├── Grant
    │   │   │   │   ├── PersistedGrantDto.cs
    │   │   │   │   └── PersistedGrantsDto.cs
    │   │   │   ├── IdentityProvider
    │   │   │   │   ├── IdentityProviderDto.cs
    │   │   │   │   ├── IdentityProviderPropertyDto.cs
    │   │   │   │   └── IdentityProvidersDto.cs
    │   │   │   ├── Key
    │   │   │   │   ├── KeyDto.cs
    │   │   │   │   └── KeysDto.cs
    │   │   │   └── Log
    │   │   │       ├── AuditLogDto.cs
    │   │   │       ├── AuditLogFilterDto.cs
    │   │   │       ├── AuditLogsDto.cs
    │   │   │       ├── LogDto.cs
    │   │   │       └── LogsDto.cs
    │   │   ├── Events
    │   │   │   ├── ApiResource
    │   │   │   │   ├── ApiResourceAddedEvent.cs
    │   │   │   │   ├── ApiResourceDeletedEvent.cs
    │   │   │   │   ├── ApiResourcePropertiesRequestedEvent.cs
    │   │   │   │   ├── ApiResourcePropertyAddedEvent.cs
    │   │   │   │   ├── ApiResourcePropertyDeletedEvent.cs
    │   │   │   │   ├── ApiResourcePropertyRequestedEvent.cs
    │   │   │   │   ├── ApiResourceRequestedEvent.cs
    │   │   │   │   ├── ApiResourcesRequestedEvent.cs
    │   │   │   │   ├── ApiResourceUpdatedEvent.cs
    │   │   │   │   ├── ApiSecretAddedEvent.cs
    │   │   │   │   ├── ApiSecretDeletedEvent.cs
    │   │   │   │   ├── ApiSecretRequestedEvent.cs
    │   │   │   │   └── ApiSecretsRequestedEvent.cs
    │   │   │   ├── ApiScope
    │   │   │   │   ├── ApiScopeAddedEvent.cs
    │   │   │   │   ├── ApiScopeDeletedEvent.cs
    │   │   │   │   ├── ApiScopePropertiesRequestedEvent.cs
    │   │   │   │   ├── ApiScopePropertyAddedEvent.cs
    │   │   │   │   ├── ApiScopePropertyDeletedEvent.cs
    │   │   │   │   ├── ApiScopePropertyRequestedEvent.cs
    │   │   │   │   ├── ApiScopeRequestedEvent.cs
    │   │   │   │   ├── ApiScopesRequestedEvent.cs
    │   │   │   │   └── ApiScopeUpdatedEvent.cs
    │   │   │   ├── Client
    │   │   │   │   ├── ClientAddedEvent.cs
    │   │   │   │   ├── ClientClaimAddedEvent.cs
    │   │   │   │   ├── ClientClaimDeletedEvent.cs
    │   │   │   │   ├── ClientClaimRequestedEvent.cs
    │   │   │   │   ├── ClientClaimsRequestedEvent.cs
    │   │   │   │   ├── ClientClonedEvent.cs
    │   │   │   │   ├── ClientDeletedEvent.cs
    │   │   │   │   ├── ClientPropertiesRequestedEvent.cs
    │   │   │   │   ├── ClientPropertyAddedEvent.cs
    │   │   │   │   ├── ClientPropertyDeletedEvent.cs
    │   │   │   │   ├── ClientPropertyRequestedEvent.cs
    │   │   │   │   ├── ClientRequestedEvent.cs
    │   │   │   │   ├── ClientSecretAddedEvent.cs
    │   │   │   │   ├── ClientSecretDeletedEvent.cs
    │   │   │   │   ├── ClientSecretRequestedEvent.cs
    │   │   │   │   ├── ClientSecretsRequestedEvent.cs
    │   │   │   │   ├── ClientsRequestedEvent.cs
    │   │   │   │   └── ClientUpdatedEvent.cs
    │   │   │   ├── IdentityProvider
    │   │   │   │   ├── IdentityProviderAddedEvent.cs
    │   │   │   │   ├── IdentityProviderDeletedEvent.cs
    │   │   │   │   ├── IdentityProviderRequestedEvent.cs
    │   │   │   │   ├── IdentityProvidersRequestedEvent.cs
    │   │   │   │   └── IdentityProviderUpdatedEvent.cs
    │   │   │   ├── IdentityResource
    │   │   │   │   ├── IdentityResourceAddedEvent.cs
    │   │   │   │   ├── IdentityResourceDeletedEvent.cs
    │   │   │   │   ├── IdentityResourcePropertiesRequestedEvent.cs
    │   │   │   │   ├── IdentityResourcePropertyAddedEvent.cs
    │   │   │   │   ├── IdentityResourcePropertyDeletedEvent.cs
    │   │   │   │   ├── IdentityResourcePropertyRequestedEvent.cs
    │   │   │   │   ├── IdentityResourceRequestedEvent.cs
    │   │   │   │   ├── IdentityResourcesRequestedEvent.cs
    │   │   │   │   └── IdentityResourceUpdatedEvent.cs
    │   │   │   ├── Key
    │   │   │   │   ├── KeyDeletedEvent.cs
    │   │   │   │   ├── KeyRequestedEvent.cs
    │   │   │   │   └── KeysRequestedEvent.cs
    │   │   │   ├── Log
    │   │   │   │   ├── LogsDeletedEvent.cs
    │   │   │   │   └── LogsRequestedEvent.cs
    │   │   │   └── PersistedGrant
    │   │   │       ├── PersistedGrantDeletedEvent.cs
    │   │   │       ├── PersistedGrantRequestedEvent.cs
    │   │   │       ├── PersistedGrantsByUserRequestedEvent.cs
    │   │   │       ├── PersistedGrantsByUsersRequestedEvent.cs
    │   │   │       └── PersistedGrantsDeletedEvent.cs
    │   │   ├── Extensions
    │   │   │   └── AdminServicesExtensions.cs
    │   │   ├── Helpers
    │   │   │   ├── ComboBoxHelpers.cs
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   ├── EnumHelpers.cs
    │   │   │   ├── QueryableExtensions.cs
    │   │   │   ├── ResourceMessage.cs
    │   │   │   └── ViewHelpers.cs
    │   │   ├── Mappers
    │   │   │   ├── ApiResourceMapperProfile.cs
    │   │   │   ├── ApiResourceMappers.cs
    │   │   │   ├── ApiScopeMapperProfile.cs
    │   │   │   ├── ApiScopeMappers.cs
    │   │   │   ├── ClientMapperProfile.cs
    │   │   │   ├── ClientMappers.cs
    │   │   │   ├── Converters
    │   │   │   │   └── AllowedSigningAlgorithmsConverter.cs
    │   │   │   ├── IdentityProviderMapperProfile.cs
    │   │   │   ├── IdentityProviderMappers.cs
    │   │   │   ├── IdentityResourceMapperProfile.cs
    │   │   │   ├── IdentityResourceMappers.cs
    │   │   │   ├── KeyMapperProfile.cs
    │   │   │   ├── KeyMappers.cs
    │   │   │   ├── LogMapperProfile.cs
    │   │   │   ├── LogMappers.cs
    │   │   │   ├── PersistedGrantMapperProfile.cs
    │   │   │   └── PersistedGrantMappers.cs
    │   │   ├── Resources
    │   │   │   ├── ApiResourceServiceResource.Designer.cs
    │   │   │   ├── ApiResourceServiceResource.resx
    │   │   │   ├── ApiResourceServiceResources.cs
    │   │   │   ├── ApiScopeServiceResource.Designer.cs
    │   │   │   ├── ApiScopeServiceResource.resx
    │   │   │   ├── ApiScopeServiceResources.cs
    │   │   │   ├── ClientServiceResource.Designer.cs
    │   │   │   ├── ClientServiceResource.resx
    │   │   │   ├── ClientServiceResources.cs
    │   │   │   ├── IApiResourceServiceResources.cs
    │   │   │   ├── IApiScopeServiceResources.cs
    │   │   │   ├── IClientServiceResources.cs
    │   │   │   ├── IdentityProviderServiceResource.Designer.cs
    │   │   │   ├── IdentityProviderServiceResource.resx
    │   │   │   ├── IdentityProviderServiceResources.cs
    │   │   │   ├── IdentityResourceServiceResource.Designer.cs
    │   │   │   ├── IdentityResourceServiceResource.resx
    │   │   │   ├── IdentityResourceServiceResources.cs
    │   │   │   ├── IIdentityProviderServiceResources.cs
    │   │   │   ├── IIdentityResourceServiceResources.cs
    │   │   │   ├── IKeyServiceResources.cs
    │   │   │   ├── IPersistedGrantServiceResources.cs
    │   │   │   ├── KeyServiceResource.Designer.cs
    │   │   │   ├── KeyServiceResource.resx
    │   │   │   ├── KeyServiceResources.cs
    │   │   │   ├── PersistedGrantServiceResource.Designer.cs
    │   │   │   ├── PersistedGrantServiceResource.resx
    │   │   │   └── PersistedGrantServiceResources.cs
    │   │   ├── Services
    │   │   │   ├── ApiResourceService.cs
    │   │   │   ├── ApiScopeService.cs
    │   │   │   ├── AuditLogService.cs
    │   │   │   ├── ClientService.cs
    │   │   │   ├── IdentityProviderService.cs
    │   │   │   ├── IdentityResourceService.cs
    │   │   │   ├── Interfaces
    │   │   │   │   ├── IApiResourceService.cs
    │   │   │   │   ├── IApiScopeService.cs
    │   │   │   │   ├── IAuditLogService.cs
    │   │   │   │   ├── IClientService.cs
    │   │   │   │   ├── IIdentityProviderService.cs
    │   │   │   │   ├── IIdentityResourceService.cs
    │   │   │   │   ├── IKeyService.cs
    │   │   │   │   ├── ILogService.cs
    │   │   │   │   └── IPersistedGrantService.cs
    │   │   │   ├── KeyService.cs
    │   │   │   ├── LogService.cs
    │   │   │   └── PersistedGrantService.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.BusinessLogic.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.BusinessLogic.Identity
    │   │   ├── Dtos
    │   │   │   ├── Enums
    │   │   │   │   └── SavedStatus.cs
    │   │   │   ├── Grant
    │   │   │   │   ├── PersistedGrantDto.cs
    │   │   │   │   └── PersistedGrantsDto.cs
    │   │   │   └── Identity
    │   │   │       ├── Base
    │   │   │       │   ├── BaseRoleClaimDto.cs
    │   │   │       │   ├── BaseRoleDto.cs
    │   │   │       │   ├── BaseUserChangePasswordDto.cs
    │   │   │       │   ├── BaseUserClaimDto.cs
    │   │   │       │   ├── BaseUserDto.cs
    │   │   │       │   ├── BaseUserProviderDto.cs
    │   │   │       │   └── BaseUserRolesDto.cs
    │   │   │       ├── Interfaces
    │   │   │       │   ├── IBaseRoleClaimDto.cs
    │   │   │       │   ├── IBaseRoleDto.cs
    │   │   │       │   ├── IBaseUserChangePasswordDto.cs
    │   │   │       │   ├── IBaseUserClaimDto.cs
    │   │   │       │   ├── IBaseUserDto.cs
    │   │   │       │   ├── IBaseUserProviderDto.cs
    │   │   │       │   ├── IBaseUserRolesDto.cs
    │   │   │       │   ├── IRoleClaimDto.cs
    │   │   │       │   ├── IRoleClaimsDto.cs
    │   │   │       │   ├── IRoleDto.cs
    │   │   │       │   ├── IRolesDto.cs
    │   │   │       │   ├── IUserChangePasswordDto.cs
    │   │   │       │   ├── IUserClaimDto.cs
    │   │   │       │   ├── IUserClaimsDto.cs
    │   │   │       │   ├── IUserDto.cs
    │   │   │       │   ├── IUserProviderDto.cs
    │   │   │       │   ├── IUserProvidersDto.cs
    │   │   │       │   ├── IUserRolesDto.cs
    │   │   │       │   └── IUsersDto.cs
    │   │   │       ├── RoleClaimDto.cs
    │   │   │       ├── RoleClaimsDto.cs
    │   │   │       ├── RoleDto.cs
    │   │   │       ├── RolesDto.cs
    │   │   │       ├── UserChangePasswordDto.cs
    │   │   │       ├── UserClaimDto.cs
    │   │   │       ├── UserClaimsDto.cs
    │   │   │       ├── UserDto.cs
    │   │   │       ├── UserProviderDto.cs
    │   │   │       ├── UserProvidersDto.cs
    │   │   │       ├── UserRolesDto.cs
    │   │   │       └── UsersDto.cs
    │   │   ├── Events
    │   │   │   ├── Identity
    │   │   │   │   ├── AllRolesRequestedEvent.cs
    │   │   │   │   ├── ClaimUsersRequestedEvent.cs
    │   │   │   │   ├── RoleAddedEvent.cs
    │   │   │   │   ├── RoleClaimRequestedEvent.cs
    │   │   │   │   ├── RoleClaimsDeletedEvent.cs
    │   │   │   │   ├── RoleClaimsRequestedEvent.cs
    │   │   │   │   ├── RoleClaimsSavedEvent.cs
    │   │   │   │   ├── RoleDeletedEvent.cs
    │   │   │   │   ├── RoleRequestedEvent.cs
    │   │   │   │   ├── RolesRequestedEvent.cs
    │   │   │   │   ├── RoleUpdatedEvent.cs
    │   │   │   │   ├── RoleUsersRequestedEvent.cs
    │   │   │   │   ├── UserClaimRequestedEvent.cs
    │   │   │   │   ├── UserClaimsDeletedEvent.cs
    │   │   │   │   ├── UserClaimsRequestedEvent.cs
    │   │   │   │   ├── UserClaimsSavedEvent.cs
    │   │   │   │   ├── UserDeletedEvent.cs
    │   │   │   │   ├── UserPasswordChangedEvent.cs
    │   │   │   │   ├── UserProviderRequestedEvent.cs
    │   │   │   │   ├── UserProvidersDeletedEvent.cs
    │   │   │   │   ├── UserProvidersRequestedEvent.cs
    │   │   │   │   ├── UserRequestedEvent.cs
    │   │   │   │   ├── UserRoleDeletedEvent.cs
    │   │   │   │   ├── UserRoleSavedEvent.cs
    │   │   │   │   ├── UserRolesRequestedEvent.cs
    │   │   │   │   ├── UserSavedEvent.cs
    │   │   │   │   ├── UsersRequestedEvent.cs
    │   │   │   │   └── UserUpdatedEvent.cs
    │   │   │   └── PersistedGrant
    │   │   │       ├── PersistedGrantIdentityDeletedEvent.cs
    │   │   │       ├── PersistedGrantIdentityRequestedEvent.cs
    │   │   │       ├── PersistedGrantsIdentityByUserRequestedEvent.cs
    │   │   │       ├── PersistedGrantsIdentityByUsersRequestedEvent.cs
    │   │   │       └── PersistedGrantsIdentityDeletedEvent.cs
    │   │   ├── Extensions
    │   │   │   └── AdminServicesExtensions.cs
    │   │   ├── Helpers
    │   │   │   ├── QueryableExtensions.cs
    │   │   │   └── ResourceMessage.cs
    │   │   ├── Mappers
    │   │   │   ├── Configuration
    │   │   │   │   ├── IMapperConfigurationBuilder.cs
    │   │   │   │   └── MapperConfigurationBuilder.cs
    │   │   │   ├── IdentityMapperProfile.cs
    │   │   │   ├── PersistedGrantMapperProfile.cs
    │   │   │   └── PersistedGrantMappers.cs
    │   │   ├── Resources
    │   │   │   ├── IdentityServiceResource.Designer.cs
    │   │   │   ├── IdentityServiceResource.resx
    │   │   │   ├── IdentityServiceResources.cs
    │   │   │   ├── IIdentityServiceResources.cs
    │   │   │   ├── IPersistedGrantAspNetIdentityServiceResources.cs
    │   │   │   ├── PersistedGrantAspNetIdentityServiceResources.cs
    │   │   │   ├── PersistedGrantServiceResource.Designer.cs
    │   │   │   └── PersistedGrantServiceResource.resx
    │   │   ├── Services
    │   │   │   ├── IdentityService.cs
    │   │   │   ├── Interfaces
    │   │   │   │   ├── IIdentityService.cs
    │   │   │   │   └── IPersistedGrantAspNetIdentityService.cs
    │   │   │   └── PersistedGrantAspNetIdentityService.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.BusinessLogic.Identity.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.BusinessLogic.Shared
    │   │   ├── Dtos
    │   │   │   └── Common
    │   │   │       ├── Pager.cs
    │   │   │       ├── Search.cs
    │   │   │       └── SelectItemDto.cs
    │   │   ├── ExceptionHandling
    │   │   │   ├── UserFriendlyErrorPageException.cs
    │   │   │   ├── UserFriendlyViewException.cs
    │   │   │   └── ViewErrorMessage.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.BusinessLogic.Shared.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework
    │   │   ├── Constants
    │   │   │   ├── ClientConsts.cs
    │   │   │   └── TableConsts.cs
    │   │   ├── Entities
    │   │   │   ├── Log.cs
    │   │   │   └── PersistedGrantDataView.cs
    │   │   ├── Helpers
    │   │   │   ├── DbContextHelpers.cs
    │   │   │   ├── EnumHelpers.cs
    │   │   │   └── HashType.cs
    │   │   ├── Interfaces
    │   │   │   ├── IAdminConfigurationDbContext.cs
    │   │   │   ├── IAdminLogDbContext.cs
    │   │   │   └── IAdminPersistedGrantDbContext.cs
    │   │   ├── Repositories
    │   │   │   ├── ApiResourceRepository.cs
    │   │   │   ├── ApiScopeRepository.cs
    │   │   │   ├── AuditLogRepository.cs
    │   │   │   ├── ClientRepository.cs
    │   │   │   ├── IdentityProviderRepository.cs
    │   │   │   ├── IdentityResourceRepository.cs
    │   │   │   ├── Interfaces
    │   │   │   │   ├── IApiResourceRepository.cs
    │   │   │   │   ├── IApiScopeRepository.cs
    │   │   │   │   ├── IAuditLogRepository.cs
    │   │   │   │   ├── IClientRepository.cs
    │   │   │   │   ├── IIdentityProviderRepository.cs
    │   │   │   │   ├── IIdentityResourceRepository.cs
    │   │   │   │   ├── IKeyRepository.cs
    │   │   │   │   ├── ILogRepository.cs
    │   │   │   │   └── IPersistedGrantRepository.cs
    │   │   │   ├── KeyRepository.cs
    │   │   │   ├── LogRepository.cs
    │   │   │   └── PersistedGrantRepository.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Configuration
    │   │   ├── Configuration
    │   │   │   ├── ConnectionStringsConfiguration.cs
    │   │   │   ├── DatabaseMigrationsConfiguration.cs
    │   │   │   ├── DatabaseProviderConfiguration.cs
    │   │   │   ├── DatabaseProviderType.cs
    │   │   │   ├── Identity
    │   │   │   │   ├── Claim.cs
    │   │   │   │   ├── Role.cs
    │   │   │   │   └── User.cs
    │   │   │   ├── IdentityData.cs
    │   │   │   ├── IdentityServer
    │   │   │   │   └── Client.cs
    │   │   │   ├── IdentityServerData.cs
    │   │   │   └── SeedConfiguration.cs
    │   │   ├── MySql
    │   │   │   └── DatabaseExtensions.cs
    │   │   ├── PostgreSQL
    │   │   │   └── DatabaseExtensions.cs
    │   │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Configuration.csproj
    │   │   └── SqlServer
    │   │       └── DatabaseExtensions.cs
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Extensions
    │   │   ├── Common
    │   │   │   ├── PagedList.cs
    │   │   │   └── SelectItem.cs
    │   │   ├── Enums
    │   │   │   └── SavedStatus.cs
    │   │   ├── Extensions
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   └── QueryableExtensions.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Extensions.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Identity
    │   │   ├── Repositories
    │   │   │   ├── IdentityRepository.cs
    │   │   │   ├── Interfaces
    │   │   │   │   ├── IIdentityRepository.cs
    │   │   │   │   └── IPersistedGrantAspNetIdentityRepository.cs
    │   │   │   └── PersistedGrantAspNetIdentityRepository.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Identity.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.MySql
    │   │   ├── Helpers
    │   │   │   └── MigrationAssembly.cs
    │   │   ├── Migrations
    │   │   │   ├── AuditLogging
    │   │   │   │   ├── 20191120085753_DbInit.cs
    │   │   │   │   ├── 20191120085753_DbInit.Designer.cs
    │   │   │   │   ├── 20200419131142_ChangeAuditLogToLong.cs
    │   │   │   │   ├── 20200419131142_ChangeAuditLogToLong.Designer.cs
    │   │   │   │   └── AdminAuditLogDbContextModelSnapshot.cs
    │   │   │   ├── DataProtection
    │   │   │   │   ├── 20200419131430_AddDataProtection.cs
    │   │   │   │   ├── 20200419131430_AddDataProtection.Designer.cs
    │   │   │   │   └── IdentityServerDataProtectionDbContextModelSnapshot.cs
    │   │   │   ├── Identity
    │   │   │   │   ├── 20191120085611_DbInit.cs
    │   │   │   │   ├── 20191120085611_DbInit.Designer.cs
    │   │   │   │   └── AdminIdentityDbContextModelSnapshot.cs
    │   │   │   ├── IdentityServerConfiguration
    │   │   │   │   ├── 20191120085701_DbInit.cs
    │   │   │   │   ├── 20191120085701_DbInit.Designer.cs
    │   │   │   │   ├── 20201108173253_UpdateIdentityServerToVersion4.cs
    │   │   │   │   ├── 20201108173253_UpdateIdentityServerToVersion4.Designer.cs
    │   │   │   │   ├── 20210318073713_AddRequireResourceIndicator.cs
    │   │   │   │   ├── 20210318073713_AddRequireResourceIndicator.Designer.cs
    │   │   │   │   ├── 20211211141521_UpdateISKeysIDP.cs
    │   │   │   │   ├── 20211211141521_UpdateISKeysIDP.Designer.cs
    │   │   │   │   ├── 20220125140746_UpdateToIS62.cs
    │   │   │   │   ├── 20220125140746_UpdateToIS62.Designer.cs
    │   │   │   │   ├── 20230119113834_UpdateToIS621.cs
    │   │   │   │   ├── 20230119113834_UpdateToIS621.Designer.cs
    │   │   │   │   ├── 20240206153506_IdentityServerV7.cs
    │   │   │   │   ├── 20240206153506_IdentityServerV7.Designer.cs
    │   │   │   │   └── IdentityServerConfigurationDbContextModelSnapshot.cs
    │   │   │   ├── IdentityServerGrants
    │   │   │   │   ├── 20191120085729_DbInit.cs
    │   │   │   │   ├── 20191120085729_DbInit.Designer.cs
    │   │   │   │   ├── 20201108173143_UpdateIdentityServerToVersion4.cs
    │   │   │   │   ├── 20201108173143_UpdateIdentityServerToVersion4.Designer.cs
    │   │   │   │   ├── 20211211141458_UpdateISKeysIDP.cs
    │   │   │   │   ├── 20211211141458_UpdateISKeysIDP.Designer.cs
    │   │   │   │   ├── 20230119113811_UpdateToIS621.cs
    │   │   │   │   ├── 20230119113811_UpdateToIS621.Designer.cs
    │   │   │   │   ├── 20240206153511_IdentityServerV7.cs
    │   │   │   │   ├── 20240206153511_IdentityServerV7.Designer.cs
    │   │   │   │   └── IdentityServerPersistedGrantDbContextModelSnapshot.cs
    │   │   │   └── Logging
    │   │   │       ├── 20191120085635_DbInit.cs
    │   │   │       ├── 20191120085635_DbInit.Designer.cs
    │   │   │       └── AdminLogDbContextModelSnapshot.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.MySql.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.PostgreSQL
    │   │   ├── Helpers
    │   │   │   └── MigrationAssembly.cs
    │   │   ├── Migrations
    │   │   │   ├── AuditLogging
    │   │   │   │   ├── 20191120100220_DbInit.cs
    │   │   │   │   ├── 20191120100220_DbInit.Designer.cs
    │   │   │   │   ├── 20200419130247_ChangeAuditLogToLong.cs
    │   │   │   │   ├── 20200419130247_ChangeAuditLogToLong.Designer.cs
    │   │   │   │   └── AdminAuditLogDbContextModelSnapshot.cs
    │   │   │   ├── DataProtection
    │   │   │   │   ├── 20200419131536_AddDataProtection.cs
    │   │   │   │   ├── 20200419131536_AddDataProtection.Designer.cs
    │   │   │   │   └── IdentityServerDataProtectionDbContextModelSnapshot.cs
    │   │   │   ├── Identity
    │   │   │   │   ├── 20191120100035_DbInit.cs
    │   │   │   │   ├── 20191120100035_DbInit.Designer.cs
    │   │   │   │   └── AdminIdentityDbContextModelSnapshot.cs
    │   │   │   ├── IdentityServerConfiguration
    │   │   │   │   ├── 20191120100129_DbInit.cs
    │   │   │   │   ├── 20191120100129_DbInit.Designer.cs
    │   │   │   │   ├── 20201108170812_UpdateIdentityServerToVersion4.cs
    │   │   │   │   ├── 20201108170812_UpdateIdentityServerToVersion4.Designer.cs
    │   │   │   │   ├── 20210310153645_AddRequireResourceIndicator.cs
    │   │   │   │   ├── 20210310153645_AddRequireResourceIndicator.Designer.cs
    │   │   │   │   ├── 20211211153855_UpdateISKeysIDP.cs
    │   │   │   │   ├── 20211211153855_UpdateISKeysIDP.Designer.cs
    │   │   │   │   ├── 20220125145446_UpdateToIS6.cs
    │   │   │   │   ├── 20220125145446_UpdateToIS6.Designer.cs
    │   │   │   │   ├── 20230119113211_UpdateToIS61.cs
    │   │   │   │   ├── 20230119113211_UpdateToIS61.Designer.cs
    │   │   │   │   ├── 20240206155420_IdentityServerV7.cs
    │   │   │   │   ├── 20240206155420_IdentityServerV7.Designer.cs
    │   │   │   │   └── IdentityServerConfigurationDbContextModelSnapshot.cs
    │   │   │   ├── IdentityServerGrants
    │   │   │   │   ├── 20191120100155_DbInit.cs
    │   │   │   │   ├── 20191120100155_DbInit.Designer.cs
    │   │   │   │   ├── 20201108165927_UpdateIdentityServerToVersion4.cs
    │   │   │   │   ├── 20201108165927_UpdateIdentityServerToVersion4.Designer.cs
    │   │   │   │   ├── 20211211153835_UpdateISKeysIDP.cs
    │   │   │   │   ├── 20211211153835_UpdateISKeysIDP.Designer.cs
    │   │   │   │   ├── 20230119113152_UpdateToIS61.cs
    │   │   │   │   ├── 20230119113152_UpdateToIS61.Designer.cs
    │   │   │   │   ├── 20240206155424_IdentityServerV7.cs
    │   │   │   │   ├── 20240206155424_IdentityServerV7.Designer.cs
    │   │   │   │   └── IdentityServerPersistedGrantDbContextModelSnapshot.cs
    │   │   │   └── Logging
    │   │   │       ├── 20191120100104_DbInit.cs
    │   │   │       ├── 20191120100104_DbInit.Designer.cs
    │   │   │       └── AdminLogDbContextModelSnapshot.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.PostgreSQL.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Shared
    │   │   ├── Constants
    │   │   │   └── TableConsts.cs
    │   │   ├── DbContexts
    │   │   │   ├── AdminAuditLogDbContext.cs
    │   │   │   ├── AdminIdentityDbContext.cs
    │   │   │   ├── AdminLogDbContext.cs
    │   │   │   ├── IdentityServerConfigurationDbContext.cs
    │   │   │   ├── IdentityServerDataProtectionDbContext.cs
    │   │   │   └── IdentityServerPersistedGrantDbContext.cs
    │   │   ├── Entities
    │   │   │   └── Identity
    │   │   │       ├── UserIdentityClaim.cs
    │   │   │       ├── UserIdentity.cs
    │   │   │       ├── UserIdentityRoleClaim.cs
    │   │   │       ├── UserIdentityRole.cs
    │   │   │       ├── UserIdentityUserLogin.cs
    │   │   │       ├── UserIdentityUserRole.cs
    │   │   │       └── UserIdentityUserToken.cs
    │   │   ├── Helpers
    │   │   │   └── DbMigrationHelpers.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.Shared.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.EntityFramework.SqlServer
    │   │   ├── Helpers
    │   │   │   └── MigrationAssembly.cs
    │   │   ├── Migrations
    │   │   │   ├── AuditLogging
    │   │   │   │   ├── 20191119164022_DbInit.cs
    │   │   │   │   ├── 20191119164022_DbInit.Designer.cs
    │   │   │   │   ├── 20200419130339_ChangeAuditLogToLong.cs
    │   │   │   │   ├── 20200419130339_ChangeAuditLogToLong.Designer.cs
    │   │   │   │   └── AdminAuditLogDbContextModelSnapshot.cs
    │   │   │   ├── DataProtection
    │   │   │   │   ├── 20200221180348_DbInit.cs
    │   │   │   │   ├── 20200221180348_DbInit.Designer.cs
    │   │   │   │   └── IdentityServerDataProtectionDbContextModelSnapshot.cs
    │   │   │   ├── Identity
    │   │   │   │   ├── 20191119163918_DbInit.cs
    │   │   │   │   ├── 20191119163918_DbInit.Designer.cs
    │   │   │   │   └── AdminIdentityDbContextModelSnapshot.cs
    │   │   │   ├── IdentityServerConfiguration
    │   │   │   │   ├── 20191119163952_DbInit.cs
    │   │   │   │   ├── 20191119163952_DbInit.Designer.cs
    │   │   │   │   ├── 20201030101938_UpdateIdentityServerToVersion4.cs
    │   │   │   │   ├── 20201030101938_UpdateIdentityServerToVersion4.Designer.cs
    │   │   │   │   ├── 20210310151745_AddRequireResourceIndicator.cs
    │   │   │   │   ├── 20210310151745_AddRequireResourceIndicator.Designer.cs
    │   │   │   │   ├── 20211111141154_AddIdentityServerProviders.cs
    │   │   │   │   ├── 20211111141154_AddIdentityServerProviders.Designer.cs
    │   │   │   │   ├── 20220116154116_UpdateToIS6.cs
    │   │   │   │   ├── 20220116154116_UpdateToIS6.Designer.cs
    │   │   │   │   ├── 20221115182001_UpdateToIS61.cs
    │   │   │   │   ├── 20221115182001_UpdateToIS61.Designer.cs
    │   │   │   │   ├── 20240206133328_IdentityServerV7.cs
    │   │   │   │   ├── 20240206133328_IdentityServerV7.Designer.cs
    │   │   │   │   └── IdentityServerConfigurationDbContextModelSnapshot.cs
    │   │   │   ├── IdentityServerGrants
    │   │   │   │   ├── 20191119164007_DbInit.cs
    │   │   │   │   ├── 20191119164007_DbInit.Designer.cs
    │   │   │   │   ├── 20201030101834_UpdateIdentityServerToVersion4.cs
    │   │   │   │   ├── 20201030101834_UpdateIdentityServerToVersion4.Designer.cs
    │   │   │   │   ├── 20211111131819_AddIdentityServerKeys.cs
    │   │   │   │   ├── 20211111131819_AddIdentityServerKeys.Designer.cs
    │   │   │   │   ├── 20221115181936_UpdateToIS61.cs
    │   │   │   │   ├── 20221115181936_UpdateToIS61.Designer.cs
    │   │   │   │   ├── 20240206133332_IdentityServerV7.cs
    │   │   │   │   ├── 20240206133332_IdentityServerV7.Designer.cs
    │   │   │   │   └── IdentityServerPersistedGrantDbContextModelSnapshot.cs
    │   │   │   └── Logging
    │   │   │       ├── 20191119163936_DbInit.cs
    │   │   │       ├── 20191119163936_DbInit.Designer.cs
    │   │   │       └── AdminLogDbContextModelSnapshot.cs
    │   │   └── Skoruba.Duende.IdentityServer.Admin.EntityFramework.SqlServer.csproj
    │   ├── Skoruba.Duende.IdentityServer.Admin.UI
    │   │   ├── Areas
    │   │   │   └── AdminUI
    │   │   │       ├── Controllers
    │   │   │       │   ├── AccountController.cs
    │   │   │       │   ├── BaseController.cs
    │   │   │       │   ├── ConfigurationController.cs
    │   │   │       │   ├── GrantController.cs
    │   │   │       │   ├── HomeController.cs
    │   │   │       │   ├── IdentityController.cs
    │   │   │       │   ├── IdentityProviderController.cs
    │   │   │       │   ├── KeyController.cs
    │   │   │       │   └── LogController.cs
    │   │   │       └── Views
    │   │   │           ├── Account
    │   │   │           │   └── AccessDenied.cshtml
    │   │   │           ├── Configuration
    │   │   │           │   ├── ApiResource
    │   │   │           │   │   └── Section
    │   │   │           │   │       └── Label.cshtml
    │   │   │           │   ├── ApiResource.cshtml
    │   │   │           │   ├── ApiResourceDelete.cshtml
    │   │   │           │   ├── ApiResourceProperties.cshtml
    │   │   │           │   ├── ApiResourcePropertyDelete.cshtml
    │   │   │           │   ├── ApiResources.cshtml
    │   │   │           │   ├── ApiScope
    │   │   │           │   │   └── Section
    │   │   │           │   │       └── Label.cshtml
    │   │   │           │   ├── ApiScope.cshtml
    │   │   │           │   ├── ApiScopeDelete.cshtml
    │   │   │           │   ├── ApiScopeProperties.cshtml
    │   │   │           │   ├── ApiScopePropertyDelete.cshtml
    │   │   │           │   ├── ApiScopes.cshtml
    │   │   │           │   ├── ApiSecretDelete.cshtml
    │   │   │           │   ├── ApiSecrets.cshtml
    │   │   │           │   ├── Client
    │   │   │           │   │   ├── Section
    │   │   │           │   │   │   ├── ActionButtons.cshtml
    │   │   │           │   │   │   ├── Advanced.cshtml
    │   │   │           │   │   │   ├── Authentication.cshtml
    │   │   │           │   │   │   ├── ClientProperties.cshtml
    │   │   │           │   │   │   ├── Consent.cshtml
    │   │   │           │   │   │   ├── DeviceFlow.cshtml
    │   │   │           │   │   │   ├── GrantTypes.cshtml
    │   │   │           │   │   │   ├── Label.cshtml
    │   │   │           │   │   │   ├── Name.cshtml
    │   │   │           │   │   │   ├── Resources.cshtml
    │   │   │           │   │   │   ├── Token.cshtml
    │   │   │           │   │   │   └── Urls.cshtml
    │   │   │           │   │   └── Settings.cshtml
    │   │   │           │   ├── ClientClaimDelete.cshtml
    │   │   │           │   ├── ClientClaims.cshtml
    │   │   │           │   ├── ClientClone.cshtml
    │   │   │           │   ├── Client.cshtml
    │   │   │           │   ├── ClientDelete.cshtml
    │   │   │           │   ├── ClientProperties.cshtml
    │   │   │           │   ├── ClientPropertyDelete.cshtml
    │   │   │           │   ├── Clients.cshtml
    │   │   │           │   ├── ClientSecretDelete.cshtml
    │   │   │           │   ├── ClientSecrets.cshtml
    │   │   │           │   ├── IdentityResource
    │   │   │           │   │   └── Section
    │   │   │           │   │       └── Label.cshtml
    │   │   │           │   ├── IdentityResource.cshtml
    │   │   │           │   ├── IdentityResourceDelete.cshtml
    │   │   │           │   ├── IdentityResourceProperties.cshtml
    │   │   │           │   ├── IdentityResourcePropertyDelete.cshtml
    │   │   │           │   └── IdentityResources.cshtml
    │   │   │           ├── Grant
    │   │   │           │   ├── PersistedGrant.cshtml
    │   │   │           │   ├── PersistedGrantDelete.cshtml
    │   │   │           │   └── PersistedGrants.cshtml
    │   │   │           ├── Home
    │   │   │           │   ├── Error.cshtml
    │   │   │           │   └── Index.cshtml
    │   │   │           ├── Identity
    │   │   │           │   ├── Role
    │   │   │           │   │   └── Section
    │   │   │           │   │       └── Label.cshtml
    │   │   │           │   ├── RoleClaims.cshtml
    │   │   │           │   ├── RoleClaimsDelete.cshtml
    │   │   │           │   ├── Role.cshtml
    │   │   │           │   ├── RoleDelete.cshtml
    │   │   │           │   ├── Roles.cshtml
    │   │   │           │   ├── RoleUsers.cshtml
    │   │   │           │   ├── User
    │   │   │           │   │   └── Section
    │   │   │           │   │       └── Label.cshtml
    │   │   │           │   ├── UserChangePassword.cshtml
    │   │   │           │   ├── UserClaims.cshtml
    │   │   │           │   ├── UserClaimsDelete.cshtml
    │   │   │           │   ├── UserDelete.cshtml
    │   │   │           │   ├── UserProfile.cshtml
    │   │   │           │   ├── UserProviders.cshtml
    │   │   │           │   ├── UserProvidersDelete.cshtml
    │   │   │           │   ├── UserRoles.cshtml
    │   │   │           │   ├── UserRolesDelete.cshtml
    │   │   │           │   └── Users.cshtml
    │   │   │           ├── IdentityProvider
    │   │   │           │   ├── IdentityProvider
    │   │   │           │   │   └── Section
    │   │   │           │   │       └── Label.cshtml
    │   │   │           │   ├── IdentityProvider.cshtml
    │   │   │           │   ├── IdentityProviderDelete.cshtml
    │   │   │           │   └── IdentityProviders.cshtml
    │   │   │           ├── Key
    │   │   │           │   ├── KeyDelete.cshtml
    │   │   │           │   └── Keys.cshtml
    │   │   │           ├── Log
    │   │   │           │   ├── AuditLog.cshtml
    │   │   │           │   └── ErrorsLog.cshtml
    │   │   │           ├── Shared
    │   │   │           │   ├── Common
    │   │   │           │   │   ├── ApplicationVersion.cshtml
    │   │   │           │   │   ├── ErrorPage.cshtml
    │   │   │           │   │   ├── Notification.cshtml
    │   │   │           │   │   ├── Pager.cshtml
    │   │   │           │   │   ├── PagerDynamic.cshtml
    │   │   │           │   │   ├── Search.cshtml
    │   │   │           │   │   ├── SelectLanguage.cshtml
    │   │   │           │   │   ├── SelectTheme.cshtml
    │   │   │           │   │   └── ThemeResources.cshtml
    │   │   │           │   ├── Components
    │   │   │           │   │   └── IdentityServerLink
    │   │   │           │   │       └── Default.cshtml
    │   │   │           │   ├── Error.cshtml
    │   │   │           │   └── _Layout.cshtml
    │   │   │           ├── _ViewImports.cshtml
    │   │   │           └── _ViewStart.cshtml
    │   │   ├── Configuration
    │   │   │   ├── AdminConfiguration.cs
    │   │   │   ├── ApplicationParts
    │   │   │   │   ├── GenericControllerRouteConvention.cs
    │   │   │   │   └── GenericTypeControllerFeatureProvider.cs
    │   │   │   ├── AuditLoggingConfiguration.cs
    │   │   │   ├── Constants
    │   │   │   │   ├── AuthenticationConsts.cs
    │   │   │   │   ├── AuthorizationConsts.cs
    │   │   │   │   ├── CommonConsts.cs
    │   │   │   │   └── ConfigurationConsts.cs
    │   │   │   ├── CultureConfiguration.cs
    │   │   │   ├── HttpConfiguration.cs
    │   │   │   ├── SecurityConfiguration.cs
    │   │   │   └── TestingConfiguration.cs
    │   │   ├── ExceptionHandling
    │   │   │   └── ControllerExceptionFilterAttribute.cs
    │   │   ├── gulpfile.js
    │   │   ├── Helpers
    │   │   │   ├── ApplicationBuilder
    │   │   │   │   └── AdminUIApplicationBuilderExtensions.cs
    │   │   │   ├── DateTimeHelpers.cs
    │   │   │   ├── DependencyInjection
    │   │   │   │   ├── AdminUIServiceCollectionExtensions.cs
    │   │   │   │   └── IdentityServerAdminUIOptions.cs
    │   │   │   ├── Identity
    │   │   │   │   └── IdentityErrorMessages.cs
    │   │   │   ├── Localization
    │   │   │   │   ├── GenericServiceLocalizer.cs
    │   │   │   │   ├── IGenericControllerLocalizer.cs
    │   │   │   │   └── ResourceViewLocalizer.cs
    │   │   │   ├── MD5HashHelper.cs
    │   │   │   ├── NotificationHelpers.cs
    │   │   │   ├── PagerHelpers.cs
    │   │   │   ├── StartupHelpers.cs
    │   │   │   ├── TagHelpers
    │   │   │   │   ├── GravatarTagHelper.cs
    │   │   │   │   ├── PickerTagHelper.cs
    │   │   │   │   └── SwitchTagHelper.cs
    │   │   │   └── UrlHelpers.cs
    │   │   ├── Middlewares
    │   │   │   └── AuthenticatedTestRequestMiddleware.cs
    │   │   ├── package.json
    │   │   ├── package-lock.json
    │   │   ├── Resources
    │   │   │   ├── Areas
    │   │   │   │   └── AdminUI
    │   │   │   │       ├── Controllers
    │   │   │   │       │   ├── ConfigurationController.da.resx
    │   │   │   │       │   ├── ConfigurationController.de.resx
    │   │   │   │       │   ├── ConfigurationController.en.resx
    │   │   │   │       │   ├── ConfigurationController.es.resx
    │   │   │   │       │   ├── ConfigurationController.fa.resx
    │   │   │   │       │   ├── ConfigurationController.fi.resx
    │   │   │   │       │   ├── ConfigurationController.fr.resx
    │   │   │   │       │   ├── ConfigurationController.nl.resx
    │   │   │   │       │   ├── ConfigurationController.pt.resx
    │   │   │   │       │   ├── ConfigurationController.ru.resx
    │   │   │   │       │   ├── ConfigurationController.sv.resx
    │   │   │   │       │   ├── ConfigurationController.zh.resx
    │   │   │   │       │   ├── GrantController.da.resx
    │   │   │   │       │   ├── GrantController.de.resx
    │   │   │   │       │   ├── GrantController.en.resx
    │   │   │   │       │   ├── GrantController.es.resx
    │   │   │   │       │   ├── GrantController.fa.resx
    │   │   │   │       │   ├── GrantController.fi.resx
    │   │   │   │       │   ├── GrantController.fr.resx
    │   │   │   │       │   ├── GrantController.nl.resx
    │   │   │   │       │   ├── GrantController.pt.resx
    │   │   │   │       │   ├── GrantController.ru.resx
    │   │   │   │       │   ├── GrantController.sv.resx
    │   │   │   │       │   ├── GrantController.zh.resx
    │   │   │   │       │   ├── IdentityController.da.resx
    │   │   │   │       │   ├── IdentityController.de.resx
    │   │   │   │       │   ├── IdentityController.en.resx
    │   │   │   │       │   ├── IdentityController.es.resx
    │   │   │   │       │   ├── IdentityController.fa.resx
    │   │   │   │       │   ├── IdentityController.fi.resx
    │   │   │   │       │   ├── IdentityController.fr.resx
    │   │   │   │       │   ├── IdentityController.nl.resx
    │   │   │   │       │   ├── IdentityController.pt.resx
    │   │   │   │       │   ├── IdentityController.ru.resx
    │   │   │   │       │   ├── IdentityController.sv.resx
    │   │   │   │       │   ├── IdentityController.zh.resx
    │   │   │   │       │   ├── IdentityProviderController.da.resx
    │   │   │   │       │   ├── IdentityProviderController.de.resx
    │   │   │   │       │   ├── IdentityProviderController.en.resx
    │   │   │   │       │   ├── IdentityProviderController.es.resx
    │   │   │   │       │   ├── IdentityProviderController.fa.resx
    │   │   │   │       │   ├── IdentityProviderController.fi.resx
    │   │   │   │       │   ├── IdentityProviderController.fr.resx
    │   │   │   │       │   ├── IdentityProviderController.nl.resx
    │   │   │   │       │   ├── IdentityProviderController.pt.resx
    │   │   │   │       │   ├── IdentityProviderController.ru.resx
    │   │   │   │       │   ├── IdentityProviderController.sv.resx
    │   │   │   │       │   └── IdentityProviderController.zh.resx
    │   │   │   │       ├── Helpers
    │   │   │   │       │   └── Identity
    │   │   │   │       │       └── IdentityErrorMessages.nl.resx
    │   │   │   │       ├── Services
    │   │   │   │       │   ├── ApiResourceService.nl.resx
    │   │   │   │       │   ├── ClientService.nl.resx
    │   │   │   │       │   ├── IdentityResourceService.nl.resx
    │   │   │   │       │   ├── IdentityService.nl.resx
    │   │   │   │       │   └── PersistedGrantService.nl.resx
    │   │   │   │       └── Views
    │   │   │   │           ├── Account
    │   │   │   │           │   ├── AccessDenied.da.resx
    │   │   │   │           │   ├── AccessDenied.de.resx
    │   │   │   │           │   ├── AccessDenied.en.resx
    │   │   │   │           │   ├── AccessDenied.es.resx
    │   │   │   │           │   ├── AccessDenied.fa.resx
    │   │   │   │           │   ├── AccessDenied.fi.resx
    │   │   │   │           │   ├── AccessDenied.fr.resx
    │   │   │   │           │   ├── AccessDenied.nl.resx
    │   │   │   │           │   ├── AccessDenied.pt.resx
    │   │   │   │           │   ├── AccessDenied.ru.resx
    │   │   │   │           │   ├── AccessDenied.sv.resx
    │   │   │   │           │   └── AccessDenied.zh.resx
    │   │   │   │           ├── Configuration
    │   │   │   │           │   ├── ApiResource
    │   │   │   │           │   │   └── Section
    │   │   │   │           │   │       ├── Label.da.resx
    │   │   │   │           │   │       ├── Label.de.resx
    │   │   │   │           │   │       ├── Label.en.resx
    │   │   │   │           │   │       ├── Label.es.resx
    │   │   │   │           │   │       ├── Label.fa.resx
    │   │   │   │           │   │       ├── Label.fi.resx
    │   │   │   │           │   │       ├── Label.fr.resx
    │   │   │   │           │   │       ├── Label.nl.resx
    │   │   │   │           │   │       ├── Label.pt.resx
    │   │   │   │           │   │       ├── Label.ru.resx
    │   │   │   │           │   │       ├── Label.sv.resx
    │   │   │   │           │   │       └── Label.zh.resx
    │   │   │   │           │   ├── ApiResource.da.resx
    │   │   │   │           │   ├── ApiResourceDelete.da.resx
    │   │   │   │           │   ├── ApiResourceDelete.de.resx
    │   │   │   │           │   ├── ApiResourceDelete.en.resx
    │   │   │   │           │   ├── ApiResourceDelete.es.resx
    │   │   │   │           │   ├── ApiResourceDelete.fa.resx
    │   │   │   │           │   ├── ApiResourceDelete.fi.resx
    │   │   │   │           │   ├── ApiResourceDelete.fr.resx
    │   │   │   │           │   ├── ApiResourceDelete.nl.resx
    │   │   │   │           │   ├── ApiResourceDelete.pt.resx
    │   │   │   │           │   ├── ApiResourceDelete.ru.resx
    │   │   │   │           │   ├── ApiResourceDelete.sv.resx
    │   │   │   │           │   ├── ApiResourceDelete.zh.resx
    │   │   │   │           │   ├── ApiResource.de.resx
    │   │   │   │           │   ├── ApiResource.en.resx
    │   │   │   │           │   ├── ApiResource.es.resx
    │   │   │   │           │   ├── ApiResource.fa.resx
    │   │   │   │           │   ├── ApiResource.fi.resx
    │   │   │   │           │   ├── ApiResource.fr.resx
    │   │   │   │           │   ├── ApiResource.nl.resx
    │   │   │   │           │   ├── ApiResourceProperties.da.resx
    │   │   │   │           │   ├── ApiResourceProperties.de.resx
    │   │   │   │           │   ├── ApiResourceProperties.en.resx
    │   │   │   │           │   ├── ApiResourceProperties.es.resx
    │   │   │   │           │   ├── ApiResourceProperties.fa.resx
    │   │   │   │           │   ├── ApiResourceProperties.fi.resx
    │   │   │   │           │   ├── ApiResourceProperties.fr.resx
    │   │   │   │           │   ├── ApiResourceProperties.nl.resx
    │   │   │   │           │   ├── ApiResourceProperties.pt.resx
    │   │   │   │           │   ├── ApiResourceProperties.ru.resx
    │   │   │   │           │   ├── ApiResourceProperties.sv.resx
    │   │   │   │           │   ├── ApiResourceProperties.zh.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.da.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.de.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.en.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.es.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.fa.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.fi.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.fr.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.nl.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.pt.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.ru.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.sv.resx
    │   │   │   │           │   ├── ApiResourcePropertyDelete.zh.resx
    │   │   │   │           │   ├── ApiResource.pt.resx
    │   │   │   │           │   ├── ApiResource.ru.resx
    │   │   │   │           │   ├── ApiResources.da.resx
    │   │   │   │           │   ├── ApiResources.de.resx
    │   │   │   │           │   ├── ApiResources.en.resx
    │   │   │   │           │   ├── ApiResources.es.resx
    │   │   │   │           │   ├── ApiResources.fa.resx
    │   │   │   │           │   ├── ApiResources.fi.resx
    │   │   │   │           │   ├── ApiResources.fr.resx
    │   │   │   │           │   ├── ApiResources.nl.resx
    │   │   │   │           │   ├── ApiResources.pt.resx
    │   │   │   │           │   ├── ApiResources.ru.resx
    │   │   │   │           │   ├── ApiResources.sv.resx
    │   │   │   │           │   ├── ApiResource.sv.resx
    │   │   │   │           │   ├── ApiResources.zh.resx
    │   │   │   │           │   ├── ApiResource.zh.resx
    │   │   │   │           │   ├── ApiScope
    │   │   │   │           │   │   └── Section
    │   │   │   │           │   │       ├── Label.da.resx
    │   │   │   │           │   │       ├── Label.de.resx
    │   │   │   │           │   │       ├── Label.en.resx
    │   │   │   │           │   │       ├── Label.es.resx
    │   │   │   │           │   │       ├── Label.fa.resx
    │   │   │   │           │   │       ├── Label.fi.resx
    │   │   │   │           │   │       ├── Label.fr.resx
    │   │   │   │           │   │       ├── Label.pt.resx
    │   │   │   │           │   │       ├── Label.ru.resx
    │   │   │   │           │   │       ├── Label.sv.resx
    │   │   │   │           │   │       └── Label.zh.resx
    │   │   │   │           │   ├── ApiScope.da.resx
    │   │   │   │           │   ├── ApiScopeDelete.da.resx
    │   │   │   │           │   ├── ApiScopeDelete.de.resx
    │   │   │   │           │   ├── ApiScopeDelete.en.resx
    │   │   │   │           │   ├── ApiScopeDelete.es.resx
    │   │   │   │           │   ├── ApiScopeDelete.fa.resx
    │   │   │   │           │   ├── ApiScopeDelete.fi.resx
    │   │   │   │           │   ├── ApiScopeDelete.fr.resx
    │   │   │   │           │   ├── ApiScopeDelete.nl.resx
    │   │   │   │           │   ├── ApiScopeDelete.pt.resx
    │   │   │   │           │   ├── ApiScopeDelete.ru.resx
    │   │   │   │           │   ├── ApiScopeDelete.sv.resx
    │   │   │   │           │   ├── ApiScopeDelete.zh.resx
    │   │   │   │           │   ├── ApiScope.de.resx
    │   │   │   │           │   ├── ApiScope.en.resx
    │   │   │   │           │   ├── ApiScope.es.resx
    │   │   │   │           │   ├── ApiScope.fa.resx
    │   │   │   │           │   ├── ApiScope.fi.resx
    │   │   │   │           │   ├── ApiScope.fr.resx
    │   │   │   │           │   ├── ApiScopeProperties.da.resx
    │   │   │   │           │   ├── ApiScopeProperties.de.resx
    │   │   │   │           │   ├── ApiScopeProperties.en.resx
    │   │   │   │           │   ├── ApiScopeProperties.es.resx
    │   │   │   │           │   ├── ApiScopeProperties.fa.resx
    │   │   │   │           │   ├── ApiScopeProperties.fi.resx
    │   │   │   │           │   ├── ApiScopeProperties.fr.resx
    │   │   │   │           │   ├── ApiScopeProperties.pt.resx
    │   │   │   │           │   ├── ApiScopeProperties.ru.resx
    │   │   │   │           │   ├── ApiScopeProperties.sv.resx
    │   │   │   │           │   ├── ApiScopeProperties.zh.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.da.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.de.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.en.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.es.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.fa.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.fi.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.fr.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.pt.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.ru.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.sv.resx
    │   │   │   │           │   ├── ApiScopePropertyDelete.zh.resx
    │   │   │   │           │   ├── ApiScope.pt.resx
    │   │   │   │           │   ├── ApiScope.ru.resx
    │   │   │   │           │   ├── ApiScopes.da.resx
    │   │   │   │           │   ├── ApiScopes.de.resx
    │   │   │   │           │   ├── ApiScopes.en.resx
    │   │   │   │           │   ├── ApiScopes.es.resx
    │   │   │   │           │   ├── ApiScopes.fa.resx
    │   │   │   │           │   ├── ApiScopes.fi.resx
    │   │   │   │           │   ├── ApiScopes.fr.resx
    │   │   │   │           │   ├── ApiScopes.nl.resx
    │   │   │   │           │   ├── ApiScopes.pt.resx
    │   │   │   │           │   ├── ApiScopes.ru.resx
    │   │   │   │           │   ├── ApiScopes.sv.resx
    │   │   │   │           │   ├── ApiScope.sv.resx
    │   │   │   │           │   ├── ApiScopes.zh.resx
    │   │   │   │           │   ├── ApiScope.zh.resx
    │   │   │   │           │   ├── ApiSecretDelete.da.resx
    │   │   │   │           │   ├── ApiSecretDelete.de.resx
    │   │   │   │           │   ├── ApiSecretDelete.en.resx
    │   │   │   │           │   ├── ApiSecretDelete.es.resx
    │   │   │   │           │   ├── ApiSecretDelete.fa.resx
    │   │   │   │           │   ├── ApiSecretDelete.fi.resx
    │   │   │   │           │   ├── ApiSecretDelete.fr.resx
    │   │   │   │           │   ├── ApiSecretDelete.nl.resx
    │   │   │   │           │   ├── ApiSecretDelete.pt.resx
    │   │   │   │           │   ├── ApiSecretDelete.ru.resx
    │   │   │   │           │   ├── ApiSecretDelete.sv.resx
    │   │   │   │           │   ├── ApiSecretDelete.zh.resx
    │   │   │   │           │   ├── ApiSecrets.da.resx
    │   │   │   │           │   ├── ApiSecrets.de.resx
    │   │   │   │           │   ├── ApiSecrets.en.resx
    │   │   │   │           │   ├── ApiSecrets.es.resx
    │   │   │   │           │   ├── ApiSecrets.fa.resx
    │   │   │   │           │   ├── ApiSecrets.fi.resx
    │   │   │   │           │   ├── ApiSecrets.fr.resx
    │   │   │   │           │   ├── ApiSecrets.nl.resx
    │   │   │   │           │   ├── ApiSecrets.pt.resx
    │   │   │   │           │   ├── ApiSecrets.ru.resx
    │   │   │   │           │   ├── ApiSecrets.sv.resx
    │   │   │   │           │   ├── ApiSecrets.zh.resx
    │   │   │   │           │   ├── Client
    │   │   │   │           │   │   ├── Section
    │   │   │   │           │   │   │   ├── ActionButtons.da.resx
    │   │   │   │           │   │   │   ├── ActionButtons.de.resx
    │   │   │   │           │   │   │   ├── ActionButtons.en.resx
    │   │   │   │           │   │   │   ├── ActionButtons.es.resx
    │   │   │   │           │   │   │   ├── ActionButtons.fa.resx
    │   │   │   │           │   │   │   ├── ActionButtons.fi.resx
    │   │   │   │           │   │   │   ├── ActionButtons.fr.resx
    │   │   │   │           │   │   │   ├── ActionButtons.nl.resx
    │   │   │   │           │   │   │   ├── ActionButtons.pt.resx
    │   │   │   │           │   │   │   ├── ActionButtons.ru.resx
    │   │   │   │           │   │   │   ├── ActionButtons.sv.resx
    │   │   │   │           │   │   │   ├── ActionButtons.zh.resx
    │   │   │   │           │   │   │   ├── Advanced.da.resx
    │   │   │   │           │   │   │   ├── Advanced.de.resx
    │   │   │   │           │   │   │   ├── Advanced.en.resx
    │   │   │   │           │   │   │   ├── Advanced.es.resx
    │   │   │   │           │   │   │   ├── Advanced.fa.resx
    │   │   │   │           │   │   │   ├── Advanced.fi.resx
    │   │   │   │           │   │   │   ├── Advanced.fr.resx
    │   │   │   │           │   │   │   ├── Advanced.nl.resx
    │   │   │   │           │   │   │   ├── Advanced.pt.resx
    │   │   │   │           │   │   │   ├── Advanced.ru.resx
    │   │   │   │           │   │   │   ├── Advanced.sv.resx
    │   │   │   │           │   │   │   ├── Advanced.zh.resx
    │   │   │   │           │   │   │   ├── Authentication.da.resx
    │   │   │   │           │   │   │   ├── Authentication.de.resx
    │   │   │   │           │   │   │   ├── Authentication.en.resx
    │   │   │   │           │   │   │   ├── Authentication.es.resx
    │   │   │   │           │   │   │   ├── Authentication.fa.resx
    │   │   │   │           │   │   │   ├── Authentication.fi.resx
    │   │   │   │           │   │   │   ├── Authentication.fr.resx
    │   │   │   │           │   │   │   ├── Authentication.nl.resx
    │   │   │   │           │   │   │   ├── Authentication.pt.resx
    │   │   │   │           │   │   │   ├── Authentication.ru.resx
    │   │   │   │           │   │   │   ├── Authentication.sv.resx
    │   │   │   │           │   │   │   ├── Authentication.zh.resx
    │   │   │   │           │   │   │   ├── ClientProperties.da.resx
    │   │   │   │           │   │   │   ├── ClientProperties.de.resx
    │   │   │   │           │   │   │   ├── ClientProperties.en.resx
    │   │   │   │           │   │   │   ├── ClientProperties.es.resx
    │   │   │   │           │   │   │   ├── ClientProperties.fa.resx
    │   │   │   │           │   │   │   ├── ClientProperties.fi.resx
    │   │   │   │           │   │   │   ├── ClientProperties.fr.resx
    │   │   │   │           │   │   │   ├── ClientProperties.nl.resx
    │   │   │   │           │   │   │   ├── ClientProperties.pt.resx
    │   │   │   │           │   │   │   ├── ClientProperties.ru.resx
    │   │   │   │           │   │   │   ├── ClientProperties.sv.resx
    │   │   │   │           │   │   │   ├── ClientProperties.zh.resx
    │   │   │   │           │   │   │   ├── Consent.de.resx
    │   │   │   │           │   │   │   ├── Consent.en.resx
    │   │   │   │           │   │   │   ├── Consent.es.resx
    │   │   │   │           │   │   │   ├── Consent.fa.resx
    │   │   │   │           │   │   │   ├── Consent.fi.resx
    │   │   │   │           │   │   │   ├── Consent.fr.resx
    │   │   │   │           │   │   │   ├── Consent.nl.resx
    │   │   │   │           │   │   │   ├── Consent.pt.resx
    │   │   │   │           │   │   │   ├── Consent.ru.resx
    │   │   │   │           │   │   │   ├── Consent.sv.resx
    │   │   │   │           │   │   │   ├── Consent.zh.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.de.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.en.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.es.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.fa.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.fr.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.nl.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.pt.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.sv.resx
    │   │   │   │           │   │   │   ├── DeviceFlow.zh.resx
    │   │   │   │           │   │   │   ├── GrantTypes.de.resx
    │   │   │   │           │   │   │   ├── GrantTypes.en.resx
    │   │   │   │           │   │   │   ├── GrantTypes.es.resx
    │   │   │   │           │   │   │   ├── GrantTypes.fa.resx
    │   │   │   │           │   │   │   ├── GrantTypes.fi.resx
    │   │   │   │           │   │   │   ├── GrantTypes.fr.resx
    │   │   │   │           │   │   │   ├── GrantTypes.nl.resx
    │   │   │   │           │   │   │   ├── GrantTypes.pt.resx
    │   │   │   │           │   │   │   ├── GrantTypes.ru.resx
    │   │   │   │           │   │   │   ├── GrantTypes.sv.resx
    │   │   │   │           │   │   │   ├── GrantTypes.zh.resx
    │   │   │   │           │   │   │   ├── Label.da.resx
    │   │   │   │           │   │   │   ├── Label.de.resx
    │   │   │   │           │   │   │   ├── Label.en.resx
    │   │   │   │           │   │   │   ├── Label.es.resx
    │   │   │   │           │   │   │   ├── Label.fa.resx
    │   │   │   │           │   │   │   ├── Label.fi.resx
    │   │   │   │           │   │   │   ├── Label.fr.resx
    │   │   │   │           │   │   │   ├── Label.nl.resx
    │   │   │   │           │   │   │   ├── Label.pt.resx
    │   │   │   │           │   │   │   ├── Label.resx
    │   │   │   │           │   │   │   ├── Label.ru.resx
    │   │   │   │           │   │   │   ├── Label.sv.resx
    │   │   │   │           │   │   │   ├── Label.zh.resx
    │   │   │   │           │   │   │   ├── Name.de.resx
    │   │   │   │           │   │   │   ├── Name.en.resx
    │   │   │   │           │   │   │   ├── Name.es.resx
    │   │   │   │           │   │   │   ├── Name.fa.resx
    │   │   │   │           │   │   │   ├── Name.fi.resx
    │   │   │   │           │   │   │   ├── Name.fr.resx
    │   │   │   │           │   │   │   ├── Name.nl.resx
    │   │   │   │           │   │   │   ├── Name.pt.resx
    │   │   │   │           │   │   │   ├── Name.ru.resx
    │   │   │   │           │   │   │   ├── Name.sv.resx
    │   │   │   │           │   │   │   ├── Name.zh.resx
    │   │   │   │           │   │   │   ├── Resources.da.resx
    │   │   │   │           │   │   │   ├── Resources.de.resx
    │   │   │   │           │   │   │   ├── Resources.en.resx
    │   │   │   │           │   │   │   ├── Resources.es.resx
    │   │   │   │           │   │   │   ├── Resources.fa.resx
    │   │   │   │           │   │   │   ├── Resources.fi.resx
    │   │   │   │           │   │   │   ├── Resources.fr.resx
    │   │   │   │           │   │   │   ├── Resources.nl.resx
    │   │   │   │           │   │   │   ├── Resources.pt.resx
    │   │   │   │           │   │   │   ├── Resources.ru.resx
    │   │   │   │           │   │   │   ├── Resources.sv.resx
    │   │   │   │           │   │   │   ├── Resources.zh.resx
    │   │   │   │           │   │   │   ├── Token.de.resx
    │   │   │   │           │   │   │   ├── Token.en.resx
    │   │   │   │           │   │   │   ├── Token.es.resx
    │   │   │   │           │   │   │   ├── Token.fa.resx
    │   │   │   │           │   │   │   ├── Token.fi.resx
    │   │   │   │           │   │   │   ├── Token.fr.resx
    │   │   │   │           │   │   │   ├── Token.nl.resx
    │   │   │   │           │   │   │   ├── Token.pt.resx
    │   │   │   │           │   │   │   ├── Token.ru.resx
    │   │   │   │           │   │   │   ├── Token.sv.resx
    │   │   │   │           │   │   │   ├── Token.zh.resx
    │   │   │   │           │   │   │   ├── Urls.de.resx
    │   │   │   │           │   │   │   ├── Urls.en.resx
    │   │   │   │           │   │   │   ├── Urls.es.resx
    │   │   │   │           │   │   │   ├── Urls.fa.resx
    │   │   │   │           │   │   │   ├── Urls.fi.resx
    │   │   │   │           │   │   │   ├── Urls.fr.resx
    │   │   │   │           │   │   │   ├── Urls.nl.resx
    │   │   │   │           │   │   │   ├── Urls.pt.resx
    │   │   │   │           │   │   │   ├── Urls.ru.resx
    │   │   │   │           │   │   │   ├── Urls.sv.resx
    │   │   │   │           │   │   │   └── Urls.zh.resx
    │   │   │   │           │   │   ├── Settings.da.resx
    │   │   │   │           │   │   ├── Settings.de.resx
    │   │   │   │           │   │   ├── Settings.en.resx
    │   │   │   │           │   │   ├── Settings.es.resx
    │   │   │   │           │   │   ├── Settings.fa.resx
    │   │   │   │           │   │   ├── Settings.fi.resx
    │   │   │   │           │   │   ├── Settings.fr.resx
    │   │   │   │           │   │   ├── Settings.nl.resx
    │   │   │   │           │   │   ├── Settings.pt.resx
    │   │   │   │           │   │   ├── Settings.ru.resx
    │   │   │   │           │   │   ├── Settings.sv.resx
    │   │   │   │           │   │   └── Settings.zh.resx
    │   │   │   │           │   ├── ClientClaimDelete.da.resx
    │   │   │   │           │   ├── ClientClaimDelete.de.resx
    │   │   │   │           │   ├── ClientClaimDelete.en.resx
    │   │   │   │           │   ├── ClientClaimDelete.es.resx
    │   │   │   │           │   ├── ClientClaimDelete.fa.resx
    │   │   │   │           │   ├── ClientClaimDelete.fi.resx
    │   │   │   │           │   ├── ClientClaimDelete.fr.resx
    │   │   │   │           │   ├── ClientClaimDelete.nl.resx
    │   │   │   │           │   ├── ClientClaimDelete.pt.resx
    │   │   │   │           │   ├── ClientClaimDelete.ru.resx
    │   │   │   │           │   ├── ClientClaimDelete.sv.resx
    │   │   │   │           │   ├── ClientClaimDelete.zh.resx
    │   │   │   │           │   ├── ClientClaims.da.resx
    │   │   │   │           │   ├── ClientClaims.de.resx
    │   │   │   │           │   ├── ClientClaims.en.resx
    │   │   │   │           │   ├── ClientClaims.es.resx
    │   │   │   │           │   ├── ClientClaims.fa.resx
    │   │   │   │           │   ├── ClientClaims.fi.resx
    │   │   │   │           │   ├── ClientClaims.fr.resx
    │   │   │   │           │   ├── ClientClaims.nl.resx
    │   │   │   │           │   ├── ClientClaims.pt.resx
    │   │   │   │           │   ├── ClientClaims.ru.resx
    │   │   │   │           │   ├── ClientClaims.sv.resx
    │   │   │   │           │   ├── ClientClaims.zh.resx
    │   │   │   │           │   ├── ClientClone.da.resx
    │   │   │   │           │   ├── ClientClone.de.resx
    │   │   │   │           │   ├── ClientClone.en.resx
    │   │   │   │           │   ├── ClientClone.es.resx
    │   │   │   │           │   ├── ClientClone.fa.resx
    │   │   │   │           │   ├── ClientClone.fi.resx
    │   │   │   │           │   ├── ClientClone.fr.resx
    │   │   │   │           │   ├── ClientClone.nl.resx
    │   │   │   │           │   ├── ClientClone.pt.resx
    │   │   │   │           │   ├── ClientClone.ru.resx
    │   │   │   │           │   ├── ClientClone.sv.resx
    │   │   │   │           │   ├── ClientClone.zh.resx
    │   │   │   │           │   ├── Client.da.resx
    │   │   │   │           │   ├── ClientDelete.da.resx
    │   │   │   │           │   ├── ClientDelete.de.resx
    │   │   │   │           │   ├── ClientDelete.en.resx
    │   │   │   │           │   ├── ClientDelete.es.resx
    │   │   │   │           │   ├── ClientDelete.fa.resx
    │   │   │   │           │   ├── ClientDelete.fi.resx
    │   │   │   │           │   ├── ClientDelete.fr.resx
    │   │   │   │           │   ├── ClientDelete.nl.resx
    │   │   │   │           │   ├── ClientDelete.pt.resx
    │   │   │   │           │   ├── ClientDelete.ru.resx
    │   │   │   │           │   ├── ClientDelete.sv.resx
    │   │   │   │           │   ├── ClientDelete.zh.resx
    │   │   │   │           │   ├── Client.de.resx
    │   │   │   │           │   ├── Client.en.resx
    │   │   │   │           │   ├── Client.es.resx
    │   │   │   │           │   ├── Client.fa.resx
    │   │   │   │           │   ├── Client.fi.resx
    │   │   │   │           │   ├── Client.fr.resx
    │   │   │   │           │   ├── Client.nl.resx
    │   │   │   │           │   ├── ClientProperties.da.resx
    │   │   │   │           │   ├── ClientProperties.de.resx
    │   │   │   │           │   ├── ClientProperties.en.resx
    │   │   │   │           │   ├── ClientProperties.es.resx
    │   │   │   │           │   ├── ClientProperties.fa.resx
    │   │   │   │           │   ├── ClientProperties.fi.resx
    │   │   │   │           │   ├── ClientProperties.fr.resx
    │   │   │   │           │   ├── ClientProperties.nl.resx
    │   │   │   │           │   ├── ClientProperties.pt.resx
    │   │   │   │           │   ├── ClientProperties.ru.resx
    │   │   │   │           │   ├── ClientProperties.sv.resx
    │   │   │   │           │   ├── ClientProperties.zh.resx
    │   │   │   │           │   ├── ClientPropertyDelete.da.resx
    │   │   │   │           │   ├── ClientPropertyDelete.de.resx
    │   │   │   │           │   ├── ClientPropertyDelete.en.resx
    │   │   │   │           │   ├── ClientPropertyDelete.es.resx
    │   │   │   │           │   ├── ClientPropertyDelete.fa.resx
    │   │   │   │           │   ├── ClientPropertyDelete.fi.resx
    │   │   │   │           │   ├── ClientPropertyDelete.fr.resx
    │   │   │   │           │   ├── ClientPropertyDelete.nl.resx
    │   │   │   │           │   ├── ClientPropertyDelete.pt.resx
    │   │   │   │           │   ├── ClientPropertyDelete.ru.resx
    │   │   │   │           │   ├── ClientPropertyDelete.sv.resx
    │   │   │   │           │   ├── ClientPropertyDelete.zh.resx
    │   │   │   │           │   ├── Client.pt.resx
    │   │   │   │           │   ├── Client.ru.resx
    │   │   │   │           │   ├── Clients.da.resx
    │   │   │   │           │   ├── Clients.de.resx
    │   │   │   │           │   ├── ClientSecretDelete.da.resx
    │   │   │   │           │   ├── ClientSecretDelete.de.resx
    │   │   │   │           │   ├── ClientSecretDelete.en.resx
    │   │   │   │           │   ├── ClientSecretDelete.es.resx
    │   │   │   │           │   ├── ClientSecretDelete.fa.resx
    │   │   │   │           │   ├── ClientSecretDelete.fi.resx
    │   │   │   │           │   ├── ClientSecretDelete.fr.resx
    │   │   │   │           │   ├── ClientSecretDelete.nl.resx
    │   │   │   │           │   ├── ClientSecretDelete.pt.resx
    │   │   │   │           │   ├── ClientSecretDelete.ru.resx
    │   │   │   │           │   ├── ClientSecretDelete.sv.resx
    │   │   │   │           │   ├── ClientSecretDelete.zh.resx
    │   │   │   │           │   ├── ClientSecrets.da.resx
    │   │   │   │           │   ├── ClientSecrets.de.resx
    │   │   │   │           │   ├── ClientSecrets.en.resx
    │   │   │   │           │   ├── ClientSecrets.es.resx
    │   │   │   │           │   ├── ClientSecrets.fa.resx
    │   │   │   │           │   ├── ClientSecrets.fi.resx
    │   │   │   │           │   ├── ClientSecrets.fr.resx
    │   │   │   │           │   ├── ClientSecrets.nl.resx
    │   │   │   │           │   ├── ClientSecrets.pt.resx
    │   │   │   │           │   ├── ClientSecrets.ru.resx
    │   │   │   │           │   ├── ClientSecrets.sv.resx
    │   │   │   │           │   ├── ClientSecrets.zh.resx
    │   │   │   │           │   ├── Clients.en.resx
    │   │   │   │           │   ├── Clients.es.resx
    │   │   │   │           │   ├── Clients.fa.resx
    │   │   │   │           │   ├── Clients.fi.resx
    │   │   │   │           │   ├── Clients.fr.resx
    │   │   │   │           │   ├── Clients.nl.resx
    │   │   │   │           │   ├── Clients.pt.resx
    │   │   │   │           │   ├── Clients.ru.resx
    │   │   │   │           │   ├── Clients.sv.resx
    │   │   │   │           │   ├── Client.sv.resx
    │   │   │   │           │   ├── Clients.zh.resx
    │   │   │   │           │   ├── Client.zh.resx
    │   │   │   │           │   ├── IdentityResource
    │   │   │   │           │   │   └── Section
    │   │   │   │           │   │       ├── Label.da.resx
    │   │   │   │           │   │       ├── Label.de.resx
    │   │   │   │           │   │       ├── Label.en.resx
    │   │   │   │           │   │       ├── Label.es.resx
    │   │   │   │           │   │       ├── Label.fa.resx
    │   │   │   │           │   │       ├── Label.fi.resx
    │   │   │   │           │   │       ├── Label.fr.resx
    │   │   │   │           │   │       ├── Label.nl.resx
    │   │   │   │           │   │       ├── Label.pt.resx
    │   │   │   │           │   │       ├── Label.ru.resx
    │   │   │   │           │   │       ├── Label.sv.resx
    │   │   │   │           │   │       └── Label.zh.resx
    │   │   │   │           │   ├── IdentityResource.da.resx
    │   │   │   │           │   ├── IdentityResourceDelete.da.resx
    │   │   │   │           │   ├── IdentityResourceDelete.de.resx
    │   │   │   │           │   ├── IdentityResourceDelete.en.resx
    │   │   │   │           │   ├── IdentityResourceDelete.es.resx
    │   │   │   │           │   ├── IdentityResourceDelete.fa.resx
    │   │   │   │           │   ├── IdentityResourceDelete.fi.resx
    │   │   │   │           │   ├── IdentityResourceDelete.fr.resx
    │   │   │   │           │   ├── IdentityResourceDelete.nl.resx
    │   │   │   │           │   ├── IdentityResourceDelete.pt.resx
    │   │   │   │           │   ├── IdentityResourceDelete.ru.resx
    │   │   │   │           │   ├── IdentityResourceDelete.sv.resx
    │   │   │   │           │   ├── IdentityResourceDelete.zh.resx
    │   │   │   │           │   ├── IdentityResource.de.resx
    │   │   │   │           │   ├── IdentityResource.en.resx
    │   │   │   │           │   ├── IdentityResource.es.resx
    │   │   │   │           │   ├── IdentityResource.fa.resx
    │   │   │   │           │   ├── IdentityResource.fi.resx
    │   │   │   │           │   ├── IdentityResource.fr.resx
    │   │   │   │           │   ├── IdentityResource.nl.resx
    │   │   │   │           │   ├── IdentityResourceProperties.da.resx
    │   │   │   │           │   ├── IdentityResourceProperties.de.resx
    │   │   │   │           │   ├── IdentityResourceProperties.en.resx
    │   │   │   │           │   ├── IdentityResourceProperties.es.resx
    │   │   │   │           │   ├── IdentityResourceProperties.fa.resx
    │   │   │   │           │   ├── IdentityResourceProperties.fi.resx
    │   │   │   │           │   ├── IdentityResourceProperties.fr.resx
    │   │   │   │           │   ├── IdentityResourceProperties.nl.resx
    │   │   │   │           │   ├── IdentityResourceProperties.pt.resx
    │   │   │   │           │   ├── IdentityResourceProperties.ru.resx
    │   │   │   │           │   ├── IdentityResourceProperties.sv.resx
    │   │   │   │           │   ├── IdentityResourceProperties.zh.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.da.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.de.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.en.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.es.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.fa.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.fi.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.fr.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.nl.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.pt.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.ru.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.sv.resx
    │   │   │   │           │   ├── IdentityResourcePropertyDelete.zh.resx
    │   │   │   │           │   ├── IdentityResource.pt.resx
    │   │   │   │           │   ├── IdentityResource.ru.resx
    │   │   │   │           │   ├── IdentityResources.da.resx
    │   │   │   │           │   ├── IdentityResources.de.resx
    │   │   │   │           │   ├── IdentityResources.en.resx
    │   │   │   │           │   ├── IdentityResources.es.resx
    │   │   │   │           │   ├── IdentityResources.fa.resx
    │   │   │   │           │   ├── IdentityResources.fi.resx
    │   │   │   │           │   ├── IdentityResources.fr.resx
    │   │   │   │           │   ├── IdentityResources.nl.resx
    │   │   │   │           │   ├── IdentityResources.pt.resx
    │   │   │   │           │   ├── IdentityResources.ru.resx
    │   │   │   │           │   ├── IdentityResources.sv.resx
    │   │   │   │           │   ├── IdentityResource.sv.resx
    │   │   │   │           │   ├── IdentityResources.zh.resx
    │   │   │   │           │   └── IdentityResource.zh.resx
    │   │   │   │           ├── Grant
    │   │   │   │           │   ├── PersistedGrant.da.resx
    │   │   │   │           │   ├── PersistedGrantDelete.da.resx
    │   │   │   │           │   ├── PersistedGrantDelete.de.resx
    │   │   │   │           │   ├── PersistedGrantDelete.en.resx
    │   │   │   │           │   ├── PersistedGrantDelete.es.resx
    │   │   │   │           │   ├── PersistedGrantDelete.fa.resx
    │   │   │   │           │   ├── PersistedGrantDelete.fi.resx
    │   │   │   │           │   ├── PersistedGrantDelete.fr.resx
    │   │   │   │           │   ├── PersistedGrantDelete.nl.resx
    │   │   │   │           │   ├── PersistedGrantDelete.pt.resx
    │   │   │   │           │   ├── PersistedGrantDelete.ru.resx
    │   │   │   │           │   ├── PersistedGrantDelete.sv.resx
    │   │   │   │           │   ├── PersistedGrantDelete.zh.resx
    │   │   │   │           │   ├── PersistedGrant.de.resx
    │   │   │   │           │   ├── PersistedGrant.en.resx
    │   │   │   │           │   ├── PersistedGrant.es.resx
    │   │   │   │           │   ├── PersistedGrant.fa.resx
    │   │   │   │           │   ├── PersistedGrant.fi.resx
    │   │   │   │           │   ├── PersistedGrant.fr.resx
    │   │   │   │           │   ├── PersistedGrant.nl.resx
    │   │   │   │           │   ├── PersistedGrant.pt.resx
    │   │   │   │           │   ├── PersistedGrant.ru.resx
    │   │   │   │           │   ├── PersistedGrants.da.resx
    │   │   │   │           │   ├── PersistedGrants.de.resx
    │   │   │   │           │   ├── PersistedGrants.en.resx
    │   │   │   │           │   ├── PersistedGrants.es.resx
    │   │   │   │           │   ├── PersistedGrants.fa.resx
    │   │   │   │           │   ├── PersistedGrants.fi.resx
    │   │   │   │           │   ├── PersistedGrants.fr.resx
    │   │   │   │           │   ├── PersistedGrants.nl.resx
    │   │   │   │           │   ├── PersistedGrants.pt.resx
    │   │   │   │           │   ├── PersistedGrants.ru.resx
    │   │   │   │           │   ├── PersistedGrants.sv.resx
    │   │   │   │           │   ├── PersistedGrant.sv.resx
    │   │   │   │           │   ├── PersistedGrants.zh.resx
    │   │   │   │           │   └── PersistedGrant.zh.resx
    │   │   │   │           ├── Home
    │   │   │   │           │   ├── Index.da.resx
    │   │   │   │           │   ├── Index.de.resx
    │   │   │   │           │   ├── Index.en.resx
    │   │   │   │           │   ├── Index.es.resx
    │   │   │   │           │   ├── Index.fa.resx
    │   │   │   │           │   ├── Index.fi.resx
    │   │   │   │           │   ├── Index.fr.resx
    │   │   │   │           │   ├── Index.nl.resx
    │   │   │   │           │   ├── Index.pt.resx
    │   │   │   │           │   ├── Index.ru.resx
    │   │   │   │           │   ├── Index.sv.resx
    │   │   │   │           │   └── Index.zh.resx
    │   │   │   │           ├── Identity
    │   │   │   │           │   ├── Role
    │   │   │   │           │   │   └── Section
    │   │   │   │           │   │       ├── Label.da.resx
    │   │   │   │           │   │       ├── Label.de.resx
    │   │   │   │           │   │       ├── Label.en.resx
    │   │   │   │           │   │       ├── Label.es.resx
    │   │   │   │           │   │       ├── Label.fa.resx
    │   │   │   │           │   │       ├── Label.fi.resx
    │   │   │   │           │   │       ├── Label.fr.resx
    │   │   │   │           │   │       ├── Label.nl.resx
    │   │   │   │           │   │       ├── Label.pt.resx
    │   │   │   │           │   │       ├── Label.ru.resx
    │   │   │   │           │   │       ├── Label.sv.resx
    │   │   │   │           │   │       └── Label.zh.resx
    │   │   │   │           │   ├── RoleClaims.da.resx
    │   │   │   │           │   ├── RoleClaimsDelete.da.resx
    │   │   │   │           │   ├── RoleClaimsDelete.de.resx
    │   │   │   │           │   ├── RoleClaimsDelete.en.resx
    │   │   │   │           │   ├── RoleClaimsDelete.es.resx
    │   │   │   │           │   ├── RoleClaimsDelete.fa.resx
    │   │   │   │           │   ├── RoleClaimsDelete.fi.resx
    │   │   │   │           │   ├── RoleClaimsDelete.fr.resx
    │   │   │   │           │   ├── RoleClaimsDelete.nl.resx
    │   │   │   │           │   ├── RoleClaimsDelete.pt.resx
    │   │   │   │           │   ├── RoleClaimsDelete.ru.resx
    │   │   │   │           │   ├── RoleClaimsDelete.sv.resx
    │   │   │   │           │   ├── RoleClaimsDelete.zh.resx
    │   │   │   │           │   ├── RoleClaims.de.resx
    │   │   │   │           │   ├── RoleClaims.en.resx
    │   │   │   │           │   ├── RoleClaims.es.resx
    │   │   │   │           │   ├── RoleClaims.fa.resx
    │   │   │   │           │   ├── RoleClaims.fi.resx
    │   │   │   │           │   ├── RoleClaims.fr.resx
    │   │   │   │           │   ├── RoleClaims.nl.resx
    │   │   │   │           │   ├── RoleClaims.pt.resx
    │   │   │   │           │   ├── RoleClaims.ru.resx
    │   │   │   │           │   ├── RoleClaims.sv.resx
    │   │   │   │           │   ├── RoleClaims.zh.resx
    │   │   │   │           │   ├── Role.da.resx
    │   │   │   │           │   ├── RoleDelete.da.resx
    │   │   │   │           │   ├── RoleDelete.de.resx
    │   │   │   │           │   ├── RoleDelete.en.resx
    │   │   │   │           │   ├── RoleDelete.es.resx
    │   │   │   │           │   ├── RoleDelete.fa.resx
    │   │   │   │           │   ├── RoleDelete.fi.resx
    │   │   │   │           │   ├── RoleDelete.fr.resx
    │   │   │   │           │   ├── RoleDelete.nl.resx
    │   │   │   │           │   ├── RoleDelete.pt.resx
    │   │   │   │           │   ├── RoleDelete.ru.resx
    │   │   │   │           │   ├── RoleDelete.sv.resx
    │   │   │   │           │   ├── RoleDelete.zh.resx
    │   │   │   │           │   ├── Role.de.resx
    │   │   │   │           │   ├── Role.en.resx
    │   │   │   │           │   ├── Role.es.resx
    │   │   │   │           │   ├── Role.fa.resx
    │   │   │   │           │   ├── Role.fi.resx
    │   │   │   │           │   ├── Role.fr.resx
    │   │   │   │           │   ├── Role.nl.resx
    │   │   │   │           │   ├── Role.pt.resx
    │   │   │   │           │   ├── Role.ru.resx
    │   │   │   │           │   ├── Roles.da.resx
    │   │   │   │           │   ├── Roles.de.resx
    │   │   │   │           │   ├── Roles.en.resx
    │   │   │   │           │   ├── Roles.es.resx
    │   │   │   │           │   ├── Roles.fa.resx
    │   │   │   │           │   ├── Roles.fi.resx
    │   │   │   │           │   ├── Roles.fr.resx
    │   │   │   │           │   ├── Roles.nl.resx
    │   │   │   │           │   ├── Roles.pt.resx
    │   │   │   │           │   ├── Roles.ru.resx
    │   │   │   │           │   ├── Roles.sv.resx
    │   │   │   │           │   ├── Role.sv.resx
    │   │   │   │           │   ├── Roles.zh.resx
    │   │   │   │           │   ├── RoleUsers.da.resx
    │   │   │   │           │   ├── RoleUsers.de.resx
    │   │   │   │           │   ├── RoleUsers.en.resx
    │   │   │   │           │   ├── RoleUsers.es.resx
    │   │   │   │           │   ├── RoleUsers.fa.resx
    │   │   │   │           │   ├── RoleUsers.fi.resx
    │   │   │   │           │   ├── RoleUsers.fr.resx
    │   │   │   │           │   ├── RoleUsers.nl.resx
    │   │   │   │           │   ├── RoleUsers.pt.resx
    │   │   │   │           │   ├── RoleUsers.resx
    │   │   │   │           │   ├── RoleUsers.ru.resx
    │   │   │   │           │   ├── RoleUsers.sv.resx
    │   │   │   │           │   ├── RoleUsers.zh.resx
    │   │   │   │           │   ├── Role.zh.resx
    │   │   │   │           │   ├── User
    │   │   │   │           │   │   └── Section
    │   │   │   │           │   │       ├── Label.da.resx
    │   │   │   │           │   │       ├── Label.de.resx
    │   │   │   │           │   │       ├── Label.en.resx
    │   │   │   │           │   │       ├── Label.es.resx
    │   │   │   │           │   │       ├── Label.fa.resx
    │   │   │   │           │   │       ├── Label.fi.resx
    │   │   │   │           │   │       ├── Label.fr.resx
    │   │   │   │           │   │       ├── Label.nl.resx
    │   │   │   │           │   │       ├── Label.pt.resx
    │   │   │   │           │   │       ├── Label.ru.resx
    │   │   │   │           │   │       ├── Label.sv.resx
    │   │   │   │           │   │       └── Label.zh.resx
    │   │   │   │           │   ├── UserChangePassword.da.resx
    │   │   │   │           │   ├── UserChangePassword.de.resx
    │   │   │   │           │   ├── UserChangePassword.en.resx
    │   │   │   │           │   ├── UserChangePassword.es.resx
    │   │   │   │           │   ├── UserChangePassword.fa.resx
    │   │   │   │           │   ├── UserChangePassword.fi.resx
    │   │   │   │           │   ├── UserChangePassword.fr.resx
    │   │   │   │           │   ├── UserChangePassword.nl.resx
    │   │   │   │           │   ├── UserChangePassword.pt.resx
    │   │   │   │           │   ├── UserChangePassword.ru.resx
    │   │   │   │           │   ├── UserChangePassword.sv.resx
    │   │   │   │           │   ├── UserChangePassword.zh.resx
    │   │   │   │           │   ├── UserClaims.da.resx
    │   │   │   │           │   ├── UserClaimsDelete.da.resx
    │   │   │   │           │   ├── UserClaimsDelete.de.resx
    │   │   │   │           │   ├── UserClaimsDelete.en.resx
    │   │   │   │           │   ├── UserClaimsDelete.es.resx
    │   │   │   │           │   ├── UserClaimsDelete.fa.resx
    │   │   │   │           │   ├── UserClaimsDelete.fi.resx
    │   │   │   │           │   ├── UserClaimsDelete.fr.resx
    │   │   │   │           │   ├── UserClaimsDelete.nl.resx
    │   │   │   │           │   ├── UserClaimsDelete.pt.resx
    │   │   │   │           │   ├── UserClaimsDelete.ru.resx
    │   │   │   │           │   ├── UserClaimsDelete.sv.resx
    │   │   │   │           │   ├── UserClaimsDelete.zh.resx
    │   │   │   │           │   ├── UserClaims.de.resx
    │   │   │   │           │   ├── UserClaims.en.resx
    │   │   │   │           │   ├── UserClaims.es.resx
    │   │   │   │           │   ├── UserClaims.fa.resx
    │   │   │   │           │   ├── UserClaims.fi.resx
    │   │   │   │           │   ├── UserClaims.fr.resx
    │   │   │   │           │   ├── UserClaims.nl.resx
    │   │   │   │           │   ├── UserClaims.pt.resx
    │   │   │   │           │   ├── UserClaims.ru.resx
    │   │   │   │           │   ├── UserClaims.sv.resx
    │   │   │   │           │   ├── UserClaims.zh.resx
    │   │   │   │           │   ├── UserDelete.da.resx
    │   │   │   │           │   ├── UserDelete.de.resx
    │   │   │   │           │   ├── UserDelete.en.resx
    │   │   │   │           │   ├── UserDelete.es.resx
    │   │   │   │           │   ├── UserDelete.fa.resx
    │   │   │   │           │   ├── UserDelete.fi.resx
    │   │   │   │           │   ├── UserDelete.fr.resx
    │   │   │   │           │   ├── UserDelete.nl.resx
    │   │   │   │           │   ├── UserDelete.pt.resx
    │   │   │   │           │   ├── UserDelete.ru.resx
    │   │   │   │           │   ├── UserDelete.sv.resx
    │   │   │   │           │   ├── UserDelete.zh.resx
    │   │   │   │           │   ├── UserProfile.da.resx
    │   │   │   │           │   ├── UserProfile.de.resx
    │   │   │   │           │   ├── UserProfile.en.resx
    │   │   │   │           │   ├── UserProfile.es.resx
    │   │   │   │           │   ├── UserProfile.fa.resx
    │   │   │   │           │   ├── UserProfile.fi.resx
    │   │   │   │           │   ├── UserProfile.fr.resx
    │   │   │   │           │   ├── UserProfile.nl.resx
    │   │   │   │           │   ├── UserProfile.pt.resx
    │   │   │   │           │   ├── UserProfile.ru.resx
    │   │   │   │           │   ├── UserProfile.sv.resx
    │   │   │   │           │   ├── UserProfile.zh.resx
    │   │   │   │           │   ├── UserProviders.da.resx
    │   │   │   │           │   ├── UserProvidersDelete.da.resx
    │   │   │   │           │   ├── UserProvidersDelete.de.resx
    │   │   │   │           │   ├── UserProvidersDelete.en.resx
    │   │   │   │           │   ├── UserProvidersDelete.es.resx
    │   │   │   │           │   ├── UserProvidersDelete.fa.resx
    │   │   │   │           │   ├── UserProvidersDelete.fi.resx
    │   │   │   │           │   ├── UserProvidersDelete.fr.resx
    │   │   │   │           │   ├── UserProvidersDelete.nl.resx
    │   │   │   │           │   ├── UserProvidersDelete.pt.resx
    │   │   │   │           │   ├── UserProvidersDelete.ru.resx
    │   │   │   │           │   ├── UserProvidersDelete.sv.resx
    │   │   │   │           │   ├── UserProvidersDelete.zh.resx
    │   │   │   │           │   ├── UserProviders.de.resx
    │   │   │   │           │   ├── UserProviders.en.resx
    │   │   │   │           │   ├── UserProviders.es.resx
    │   │   │   │           │   ├── UserProviders.fa.resx
    │   │   │   │           │   ├── UserProviders.fi.resx
    │   │   │   │           │   ├── UserProviders.fr.resx
    │   │   │   │           │   ├── UserProviders.nl.resx
    │   │   │   │           │   ├── UserProviders.pt.resx
    │   │   │   │           │   ├── UserProviders.ru.resx
    │   │   │   │           │   ├── UserProviders.sv.resx
    │   │   │   │           │   ├── UserProviders.zh.resx
    │   │   │   │           │   ├── UserRoles.da.resx
    │   │   │   │           │   ├── UserRolesDelete.da.resx
    │   │   │   │           │   ├── UserRolesDelete.de.resx
    │   │   │   │           │   ├── UserRolesDelete.en.resx
    │   │   │   │           │   ├── UserRolesDelete.es.resx
    │   │   │   │           │   ├── UserRolesDelete.fa.resx
    │   │   │   │           │   ├── UserRolesDelete.fi.resx
    │   │   │   │           │   ├── UserRolesDelete.fr.resx
    │   │   │   │           │   ├── UserRolesDelete.nl.resx
    │   │   │   │           │   ├── UserRolesDelete.pt.resx
    │   │   │   │           │   ├── UserRolesDelete.ru.resx
    │   │   │   │           │   ├── UserRolesDelete.sv.resx
    │   │   │   │           │   ├── UserRolesDelete.zh.resx
    │   │   │   │           │   ├── UserRoles.de.resx
    │   │   │   │           │   ├── UserRoles.en.resx
    │   │   │   │           │   ├── UserRoles.es.resx
    │   │   │   │           │   ├── UserRoles.fa.resx
    │   │   │   │           │   ├── UserRoles.fi.resx
    │   │   │   │           │   ├── UserRoles.fr.resx
    │   │   │   │           │   ├── UserRoles.nl.resx
    │   │   │   │           │   ├── UserRoles.pt.resx
    │   │   │   │           │   ├── UserRoles.ru.resx
    │   │   │   │           │   ├── UserRoles.sv.resx
    │   │   │   │           │   ├── UserRoles.zh.resx
    │   │   │   │           │   ├── Users.da.resx
    │   │   │   │           │   ├── Users.de.resx
    │   │   │   │           │   ├── Users.en.resx
    │   │   │   │           │   ├── Users.es.resx
    │   │   │   │           │   ├── Users.fa.resx
    │   │   │   │           │   ├── Users.fi.resx
    │   │   │   │           │   ├── Users.fr.resx
    │   │   │   │           │   ├── Users.nl.resx
    │   │   │   │           │   ├── Users.pt.resx
    │   │   │   │           │   ├── Users.ru.resx
    │   │   │   │           │   ├── Users.sv.resx
    │   │   │   │           │   └── Users.zh.resx
    │   │   │   │           ├── IdentityProvider
    │   │   │   │           │   ├── IdentityProvider
    │   │   │   │           │   │   └── Section
    │   │   │   │           │   │       ├── Label.da.resx
    │   │   │   │           │   │       ├── Label.de.resx
    │   │   │   │           │   │       ├── Label.en.resx
    │   │   │   │           │   │       ├── Label.es.resx
    │   │   │   │           │   │       ├── Label.fa.resx
    │   │   │   │           │   │       ├── Label.fi.resx
    │   │   │   │           │   │       ├── Label.fr.resx
    │   │   │   │           │   │       ├── Label.nl.resx
    │   │   │   │           │   │       ├── Label.pt.resx
    │   │   │   │           │   │       ├── Label.ru.resx
    │   │   │   │           │   │       ├── Label.sv.resx
    │   │   │   │           │   │       └── Label.zh.resx
    │   │   │   │           │   ├── IdentityProvider.da.resx
    │   │   │   │           │   ├── IdentityProviderDelete.da.resx
    │   │   │   │           │   ├── IdentityProviderDelete.de.resx
    │   │   │   │           │   ├── IdentityProviderDelete.en.resx
    │   │   │   │           │   ├── IdentityProviderDelete.es.resx
    │   │   │   │           │   ├── IdentityProviderDelete.fa.resx
    │   │   │   │           │   ├── IdentityProviderDelete.fi.resx
    │   │   │   │           │   ├── IdentityProviderDelete.fr.resx
    │   │   │   │           │   ├── IdentityProviderDelete.nl.resx
    │   │   │   │           │   ├── IdentityProviderDelete.pt.resx
    │   │   │   │           │   ├── IdentityProviderDelete.ru.resx
    │   │   │   │           │   ├── IdentityProviderDelete.sv.resx
    │   │   │   │           │   ├── IdentityProviderDelete.zh.resx
    │   │   │   │           │   ├── IdentityProvider.de.resx
    │   │   │   │           │   ├── IdentityProvider.en.resx
    │   │   │   │           │   ├── IdentityProvider.es.resx
    │   │   │   │           │   ├── IdentityProvider.fa.resx
    │   │   │   │           │   ├── IdentityProvider.fi.resx
    │   │   │   │           │   ├── IdentityProvider.fr.resx
    │   │   │   │           │   ├── IdentityProvider.nl.resx
    │   │   │   │           │   ├── IdentityProviderProperties.da.resx
    │   │   │   │           │   ├── IdentityProviderProperties.de.resx
    │   │   │   │           │   ├── IdentityProviderProperties.en.resx
    │   │   │   │           │   ├── IdentityProviderProperties.es.resx
    │   │   │   │           │   ├── IdentityProviderProperties.fa.resx
    │   │   │   │           │   ├── IdentityProviderProperties.fi.resx
    │   │   │   │           │   ├── IdentityProviderProperties.fr.resx
    │   │   │   │           │   ├── IdentityProviderProperties.nl.resx
    │   │   │   │           │   ├── IdentityProviderProperties.pt.resx
    │   │   │   │           │   ├── IdentityProviderProperties.ru.resx
    │   │   │   │           │   ├── IdentityProviderProperties.sv.resx
    │   │   │   │           │   ├── IdentityProviderProperties.zh.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.da.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.de.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.en.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.es.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.fa.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.fi.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.nl.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.pt.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.ru.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.sv.resx
    │   │   │   │           │   ├── IdentityProviderPropertyDelete.zh.resx
    │   │   │   │           │   ├── IdentityProvider.pt.resx
    │   │   │   │           │   ├── IdentityProvider.ru.resx
    │   │   │   │           │   ├── IdentityProviders.da.resx
    │   │   │   │           │   ├── IdentityProviders.de.resx
    │   │   │   │           │   ├── IdentityProviders.en.resx
    │   │   │   │           │   ├── IdentityProviders.es.resx
    │   │   │   │           │   ├── IdentityProviders.fa.resx
    │   │   │   │           │   ├── IdentityProviders.fi.resx
    │   │   │   │           │   ├── IdentityProviders.nl.resx
    │   │   │   │           │   ├── IdentityProviders.pt.resx
    │   │   │   │           │   ├── IdentityProviders.ru.resx
    │   │   │   │           │   ├── IdentityProviders.sv.resx
    │   │   │   │           │   ├── IdentityProvider.sv.resx
    │   │   │   │           │   ├── IdentityProviders.zh.resx
    │   │   │   │           │   └── IdentityProvider.zh.resx
    │   │   │   │           ├── Key
    │   │   │   │           │   ├── KeyDelete.da.resx
    │   │   │   │           │   ├── KeyDelete.de.resx
    │   │   │   │           │   ├── KeyDelete.en.resx
    │   │   │   │           │   ├── KeyDelete.es.resx
    │   │   │   │           │   ├── KeyDelete.fa.resx
    │   │   │   │           │   ├── KeyDelete.fi.resx
    │   │   │   │           │   ├── KeyDelete.fr.resx
    │   │   │   │           │   ├── KeyDelete.nl.resx
    │   │   │   │           │   ├── KeyDelete.pt.resx
    │   │   │   │           │   ├── KeyDelete.ru.resx
    │   │   │   │           │   ├── KeyDelete.sv.resx
    │   │   │   │           │   ├── KeyDelete.zh.resx
    │   │   │   │           │   ├── Keys.da.resx
    │   │   │   │           │   ├── Keys.de.resx
    │   │   │   │           │   ├── Keys.en.resx
    │   │   │   │           │   ├── Keys.es.resx
    │   │   │   │           │   ├── Keys.fa.resx
    │   │   │   │           │   ├── Keys.fi.resx
    │   │   │   │           │   ├── Keys.fr.resx
    │   │   │   │           │   ├── Keys.nl.resx
    │   │   │   │           │   ├── Keys.pt.resx
    │   │   │   │           │   ├── Keys.ru.resx
    │   │   │   │           │   ├── Keys.sv.resx
    │   │   │   │           │   └── Keys.zh.resx
    │   │   │   │           ├── Log
    │   │   │   │           │   ├── AuditLog.da.resx
    │   │   │   │           │   ├── AuditLog.de.resx
    │   │   │   │           │   ├── AuditLog.en.resx
    │   │   │   │           │   ├── AuditLog.es.resx
    │   │   │   │           │   ├── AuditLog.fa.resx
    │   │   │   │           │   ├── AuditLog.fi.resx
    │   │   │   │           │   ├── AuditLog.fr.resx
    │   │   │   │           │   ├── AuditLog.nl.resx
    │   │   │   │           │   ├── AuditLog.pt.resx
    │   │   │   │           │   ├── AuditLog.ru.resx
    │   │   │   │           │   ├── AuditLog.sv.resx
    │   │   │   │           │   ├── AuditLog.zh.resx
    │   │   │   │           │   ├── ErrorsLog.da.resx
    │   │   │   │           │   ├── ErrorsLog.de.resx
    │   │   │   │           │   ├── ErrorsLog.en.resx
    │   │   │   │           │   ├── ErrorsLog.es.resx
    │   │   │   │           │   ├── ErrorsLog.fa.resx
    │   │   │   │           │   ├── ErrorsLog.fi.resx
    │   │   │   │           │   ├── ErrorsLog.fr.resx
    │   │   │   │           │   ├── ErrorsLog.nl.resx
    │   │   │   │           │   ├── ErrorsLog.pt.resx
    │   │   │   │           │   ├── ErrorsLog.ru.resx
    │   │   │   │           │   ├── ErrorsLog.sv.resx
    │   │   │   │           │   └── ErrorsLog.zh.resx
    │   │   │   │           └── Shared
    │   │   │   │               ├── Common
    │   │   │   │               │   ├── ErrorPage.da.resx
    │   │   │   │               │   ├── ErrorPage.de.resx
    │   │   │   │               │   ├── ErrorPage.en.resx
    │   │   │   │               │   ├── ErrorPage.es.resx
    │   │   │   │               │   ├── ErrorPage.fa.resx
    │   │   │   │               │   ├── ErrorPage.fi.resx
    │   │   │   │               │   ├── ErrorPage.fr.resx
    │   │   │   │               │   ├── ErrorPage.nl.resx
    │   │   │   │               │   ├── ErrorPage.pt.resx
    │   │   │   │               │   ├── ErrorPage.ru.resx
    │   │   │   │               │   ├── ErrorPage.sv.resx
    │   │   │   │               │   ├── ErrorPage.zh.resx
    │   │   │   │               │   ├── Pager.da.resx
    │   │   │   │               │   ├── Pager.de.resx
    │   │   │   │               │   ├── PagerDynamic.de.resx
    │   │   │   │               │   ├── PagerDynamic.en.resx
    │   │   │   │               │   ├── PagerDynamic.es.resx
    │   │   │   │               │   ├── PagerDynamic.fa.resx
    │   │   │   │               │   ├── PagerDynamic.fi.resx
    │   │   │   │               │   ├── PagerDynamic.fr.resx
    │   │   │   │               │   ├── PagerDynamic.nl.resx
    │   │   │   │               │   ├── PagerDynamic.pt.resx
    │   │   │   │               │   ├── PagerDynamic.ru.resx
    │   │   │   │               │   ├── PagerDynamic.sv.resx
    │   │   │   │               │   ├── Pager.en.resx
    │   │   │   │               │   ├── Pager.es.resx
    │   │   │   │               │   ├── Pager.fa.resx
    │   │   │   │               │   ├── Pager.fi.resx
    │   │   │   │               │   ├── Pager.fr.resx
    │   │   │   │               │   ├── Pager.nl.resx
    │   │   │   │               │   ├── Pager.pt.resx
    │   │   │   │               │   ├── Pager.ru.resx
    │   │   │   │               │   ├── Pager.sv.resx
    │   │   │   │               │   ├── Pager.zh.resx
    │   │   │   │               │   ├── Search.da.resx
    │   │   │   │               │   ├── Search.de.resx
    │   │   │   │               │   ├── Search.en.resx
    │   │   │   │               │   ├── Search.es.resx
    │   │   │   │               │   ├── Search.fa.resx
    │   │   │   │               │   ├── Search.fi.resx
    │   │   │   │               │   ├── Search.fr.resx
    │   │   │   │               │   ├── Search.nl.resx
    │   │   │   │               │   ├── Search.pt.resx
    │   │   │   │               │   ├── Search.ru.resx
    │   │   │   │               │   ├── Search.sv.resx
    │   │   │   │               │   ├── Search.zh.resx
    │   │   │   │               │   ├── SelectLanguage.da.resx
    │   │   │   │               │   ├── SelectLanguage.de.resx
    │   │   │   │               │   ├── SelectLanguage.en.resx
    │   │   │   │               │   ├── SelectLanguage.es.resx
    │   │   │   │               │   ├── SelectLanguage.fa.resx
    │   │   │   │               │   ├── SelectLanguage.fi.resx
    │   │   │   │               │   ├── SelectLanguage.fr.resx
    │   │   │   │               │   ├── SelectLanguage.nl.resx
    │   │   │   │               │   ├── SelectLanguage.pt.resx
    │   │   │   │               │   ├── SelectLanguage.ru.resx
    │   │   │   │               │   ├── SelectLanguage.sv.resx
    │   │   │   │               │   └── SelectLanguage.zh.resx
    │   │   │   │               ├── Components
    │   │   │   │               │   └── IdentityServerLink
    │   │   │   │               │       ├── Default.da.resx
    │   │   │   │               │       ├── Default.de.resx
    │   │   │   │               │       ├── Default.en.resx
    │   │   │   │               │       ├── Default.es.resx
    │   │   │   │               │       ├── Default.fa.resx
    │   │   │   │               │       ├── Default.fi.resx
    │   │   │   │               │       ├── Default.fr.resx
    │   │   │   │               │       ├── Default.nl.resx
    │   │   │   │               │       ├── Default.pt.resx
    │   │   │   │               │       ├── Default.ru.resx
    │   │   │   │               │       ├── Default.sv.resx
    │   │   │   │               │       └── Default.zh.resx
    │   │   │   │               ├── _Layout.da.resx
    │   │   │   │               ├── _Layout.de.resx
    │   │   │   │               ├── _Layout.en.resx
    │   │   │   │               ├── _Layout.es.resx
    │   │   │   │               ├── _Layout.fa.resx
    │   │   │   │               ├── _Layout.fi.resx
    │   │   │   │               ├── _Layout.fr.resx
    │   │   │   │               ├── _Layout.nl.resx
    │   │   │   │               ├── _Layout.pt.resx
    │   │   │   │               ├── _Layout.ru.resx
    │   │   │   │               ├── _Layout.sv.resx
    │   │   │   │               └── _Layout.zh.resx
    │   │   │   ├── Helpers
    │   │   │   │   └── Identity
    │   │   │   │       ├── IdentityErrorMessages.en.resx
    │   │   │   │       └── IdentityErrorMessages.resx
    │   │   │   └── Services
    │   │   │       ├── ApiResourceService.da.resx
    │   │   │       ├── ApiResourceService.de.resx
    │   │   │       ├── ApiResourceService.en.resx
    │   │   │       ├── ApiResourceService.es.resx
    │   │   │       ├── ApiResourceService.fa.resx
    │   │   │       ├── ApiResourceService.fi.resx
    │   │   │       ├── ApiResourceService.fr.resx
    │   │   │       ├── ApiResourceService.pt.resx
    │   │   │       ├── ApiResourceService.ru.resx
    │   │   │       ├── ApiResourceService.sv.resx
    │   │   │       ├── ApiResourceService.zh.resx
    │   │   │       ├── ClientService.da.resx
    │   │   │       ├── ClientService.de.resx
    │   │   │       ├── ClientService.en.resx
    │   │   │       ├── ClientService.es.resx
    │   │   │       ├── ClientService.fa.resx
    │   │   │       ├── ClientService.fi.resx
    │   │   │       ├── ClientService.fr.resx
    │   │   │       ├── ClientService.pt.resx
    │   │   │       ├── ClientService.ru.resx
    │   │   │       ├── ClientService.sv.resx
    │   │   │       ├── ClientService.zh.resx
    │   │   │       ├── IdentityResourceService.da.resx
    │   │   │       ├── IdentityResourceService.de.resx
    │   │   │       ├── IdentityResourceService.en.resx
    │   │   │       ├── IdentityResourceService.es.resx
    │   │   │       ├── IdentityResourceService.fa.resx
    │   │   │       ├── IdentityResourceService.fi.resx
    │   │   │       ├── IdentityResourceService.fr.resx
    │   │   │       ├── IdentityResourceService.pt.resx
    │   │   │       ├── IdentityResourceService.ru.resx
    │   │   │       ├── IdentityResourceService.sv.resx
    │   │   │       ├── IdentityResourceService.zh.resx
    │   │   │       ├── IdentityService.da.resx
    │   │   │       ├── IdentityService.de.resx
    │   │   │       ├── IdentityService.en.resx
    │   │   │       ├── IdentityService.es.resx
    │   │   │       ├── IdentityService.fa.resx
    │   │   │       ├── IdentityService.fi.resx
    │   │   │       ├── IdentityService.fr.resx
    │   │   │       ├── IdentityService.pt.resx
    │   │   │       ├── IdentityService.ru.resx
    │   │   │       ├── IdentityService.sv.resx
    │   │   │       ├── IdentityService.zh.resx
    │   │   │       ├── KeyService.en.resx
    │   │   │       ├── PersistedGrantService.da.resx
    │   │   │       ├── PersistedGrantService.de.resx
    │   │   │       ├── PersistedGrantService.en.resx
    │   │   │       ├── PersistedGrantService.es.resx
    │   │   │       ├── PersistedGrantService.fa.resx
    │   │   │       ├── PersistedGrantService.fi.resx
    │   │   │       ├── PersistedGrantService.fr.resx
    │   │   │       ├── PersistedGrantService.pt.resx
    │   │   │       ├── PersistedGrantService.ru.resx
    │   │   │       ├── PersistedGrantService.sv.resx
    │   │   │       └── PersistedGrantService.zh.resx
    │   │   ├── Scripts
    │   │   │   └── App
    │   │   │       ├── components
    │   │   │       │   ├── DatePicker.js
    │   │   │       │   ├── Menu.js
    │   │   │       │   ├── Picker.es5.js
    │   │   │       │   ├── Picker.es5.min.js
    │   │   │       │   ├── Picker.js
    │   │   │       │   ├── Picker.min.js
    │   │   │       │   └── Theme.js
    │   │   │       ├── helpers
    │   │   │       │   ├── DateTimeHelpers.js
    │   │   │       │   ├── FormMvcHelpers.js
    │   │   │       │   └── jsontree.min.js
    │   │   │       └── pages
    │   │   │           ├── AuditLog.js
    │   │   │           ├── ErrorsLog.js
    │   │   │           ├── IdentityProviders.js
    │   │   │           └── Secrets.js
    │   │   ├── Skoruba.Duende.IdentityServer.Admin.UI.csproj
    │   │   ├── Styles
    │   │   │   ├── common
    │   │   │   │   ├── _all.scss
    │   │   │   │   ├── common.scss
    │   │   │   │   ├── fonts.scss
    │   │   │   │   ├── form.scss
    │   │   │   │   ├── margin.css
    │   │   │   │   ├── margin.min.css
    │   │   │   │   ├── margin.scss
    │   │   │   │   ├── padding.css
    │   │   │   │   ├── padding.min.css
    │   │   │   │   └── padding.scss
    │   │   │   ├── controls
    │   │   │   │   ├── _all.scss
    │   │   │   │   ├── checkbox.scss
    │   │   │   │   ├── jsontree.css
    │   │   │   │   ├── navbar.scss
    │   │   │   │   ├── picker.scss
    │   │   │   │   ├── radio.scss
    │   │   │   │   ├── toastr.scss
    │   │   │   │   ├── validation.summary.css
    │   │   │   │   ├── validation.summary.min.css
    │   │   │   │   └── validation.summary.scss
    │   │   │   ├── pages
    │   │   │   │   ├── _all.scss
    │   │   │   │   ├── auditlog.scss
    │   │   │   │   └── client.scss
    │   │   │   ├── web.css
    │   │   │   ├── web.min.css
    │   │   │   └── web.scss
    │   │   ├── ViewComponents
    │   │   │   └── IdentityServerLinkViewComponent.cs
    │   │   └── wwwroot
    │   │       ├── dist
    │   │       │   ├── css
    │   │       │   │   ├── bundle.min.css
    │   │       │   │   ├── themes
    │   │       │   │   │   ├── cerulean
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── cosmo
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── cyborg
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── darkly
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── flatly
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── journal
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── litera
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── lumen
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── lux
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── materia
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── minty
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── pulse
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── sandstone
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── simplex
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── sketchy
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── slate
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── solar
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── spacelab
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── superhero
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   ├── united
    │   │       │   │   │   │   └── bootstrap.min.css
    │   │       │   │   │   └── yeti
    │   │       │   │   │       └── bootstrap.min.css
    │   │       │   │   ├── web.css
    │   │       │   │   └── web.min.css
    │   │       │   ├── fonts
    │   │       │   │   ├── FontAwesome.otf
    │   │       │   │   ├── fontawesome-webfont.eot
    │   │       │   │   ├── fontawesome-webfont.svg
    │   │       │   │   ├── fontawesome-webfont.ttf
    │   │       │   │   ├── fontawesome-webfont.woff
    │   │       │   │   ├── fontawesome-webfont.woff2
    │   │       │   │   ├── open-iconic.eot
    │   │       │   │   ├── open-iconic.otf
    │   │       │   │   ├── open-iconic.svg
    │   │       │   │   ├── open-iconic.ttf
    │   │       │   │   └── open-iconic.woff
    │   │       │   └── js
    │   │       │       └── bundle.min.js
    │   │       ├── favicon.ico
    │   │       └── images
    │   │           ├── icons
    │   │           │   ├── device-client.png
    │   │           │   ├── empty-client.png
    │   │           │   ├── native-client.png
    │   │           │   ├── server-client.png
    │   │           │   ├── spa-client.png
    │   │           │   └── web-client.png
    │   │           └── loading.gif
    │   ├── Skoruba.Duende.IdentityServer.Shared
    │   │   ├── Dtos
    │   │   │   ├── Identity
    │   │   │   │   ├── IdentityRoleClaimDto.cs
    │   │   │   │   ├── IdentityRoleClaimsDto.cs
    │   │   │   │   ├── IdentityRoleDto.cs
    │   │   │   │   ├── IdentityRolesDto.cs
    │   │   │   │   ├── IdentityUserClaimDto.cs
    │   │   │   │   ├── IdentityUserClaimsDto.cs
    │   │   │   │   ├── IdentityUserDto.cs
    │   │   │   │   ├── IdentityUserProviderDto.cs
    │   │   │   │   ├── IdentityUserProvidersDto.cs
    │   │   │   │   ├── IdentityUserRolesDto.cs
    │   │   │   │   └── IdentityUsersDto.cs
    │   │   │   └── IdentityUserChangePasswordDto.cs
    │   │   └── Skoruba.Duende.IdentityServer.Shared.csproj
    │   ├── Skoruba.Duende.IdentityServer.Shared.Configuration
    │   │   ├── Authentication
    │   │   │   └── AuthenticationHelpers.cs
    │   │   ├── Configuration
    │   │   │   ├── Common
    │   │   │   │   ├── AzureKeyVaultConfiguration.cs
    │   │   │   │   ├── CertificateConfiguration.cs
    │   │   │   │   ├── DataProtectionConfiguration.cs
    │   │   │   │   └── DockerConfiguration.cs
    │   │   │   ├── Email
    │   │   │   │   ├── SendGridConfiguration.cs
    │   │   │   │   └── SmtpConfiguration.cs
    │   │   │   └── Identity
    │   │   │       ├── LoginConfiguration.cs
    │   │   │       ├── LoginResolutionPolicy.cs
    │   │   │       └── RegisterConfiguration.cs
    │   │   ├── Email
    │   │   │   ├── LogEmailSender.cs
    │   │   │   ├── SendGridEmailSender.cs
    │   │   │   └── SmtpEmailSender.cs
    │   │   ├── Helpers
    │   │   │   ├── AzureKeyVaultHelpers.cs
    │   │   │   ├── DockerHelpers.cs
    │   │   │   ├── ShellHelpers.cs
    │   │   │   ├── StartupHelpers.cs
    │   │   │   └── ThemeHelpers.cs
    │   │   ├── Services
    │   │   │   └── AzureKeyVaultService.cs
    │   │   └── Skoruba.Duende.IdentityServer.Shared.Configuration.csproj
    │   └── Skoruba.Duende.IdentityServer.STS.Identity
    │       ├── appsettings.json
    │       ├── Configuration
    │       │   ├── AccountOptions.cs
    │       │   ├── AdminConfiguration.cs
    │       │   ├── ApplicationParts
    │       │   │   ├── GenericControllerRouteConvention.cs
    │       │   │   └── GenericTypeControllerFeatureProvider.cs
    │       │   ├── ConsentOptions.cs
    │       │   ├── Constants
    │       │   │   ├── AddressClaimConstants.cs
    │       │   │   ├── AuthorizationConsts.cs
    │       │   │   └── ConfigurationConsts.cs
    │       │   ├── CultureConfiguration.cs
    │       │   ├── ExternalProvidersConfiguration.cs
    │       │   ├── Interfaces
    │       │   │   └── IRootConfiguration.cs
    │       │   ├── RootConfiguration.cs
    │       │   └── Test
    │       │       └── StartupTest.cs
    │       ├── Controllers
    │       │   ├── AccountController.cs
    │       │   ├── ConsentController.cs
    │       │   ├── DeviceController.cs
    │       │   ├── DiagnosticsController.cs
    │       │   ├── GrantsController.cs
    │       │   ├── HomeController.cs
    │       │   └── ManageController.cs
    │       ├── Dockerfile
    │       ├── gulpfile.js
    │       ├── Helpers
    │       │   ├── ApplicationSignInManager.cs
    │       │   ├── DelegationGrantValidator.cs
    │       │   ├── Extensions.cs
    │       │   ├── IdentityProvidersHelpers.cs
    │       │   ├── IdentityServerBuilderExtensions.cs
    │       │   ├── KeyValuePairExtensions.cs
    │       │   ├── Localization
    │       │   │   ├── GenericServiceLocalizer.cs
    │       │   │   ├── IGenericControllerLocalizer.cs
    │       │   │   └── LoginPolicyResolutionLocalizer.cs
    │       │   ├── Md5HashHelper.cs
    │       │   ├── OpenidClaimHelpers.cs
    │       │   ├── OpenIDProfile.cs
    │       │   ├── SecurityHeadersAttribute.cs
    │       │   ├── StartupHelpers.cs
    │       │   ├── TagHelpers
    │       │   │   ├── GravatarTagHelper.cs
    │       │   │   └── SwitchTagHelper.cs
    │       │   └── UserResolver.cs
    │       ├── package.json
    │       ├── package-lock.json
    │       ├── Program.cs
    │       ├── Properties
    │       │   └── launchSettings.json
    │       ├── Resources
    │       │   ├── Controllers
    │       │   │   ├── AccountController.da.resx
    │       │   │   ├── AccountController.de.resx
    │       │   │   ├── AccountController.en.resx
    │       │   │   ├── AccountController.es.resx
    │       │   │   ├── AccountController.fa.resx
    │       │   │   ├── AccountController.fi.resx
    │       │   │   ├── AccountController.fr.resx
    │       │   │   ├── AccountController.nl.resx
    │       │   │   ├── AccountController.pt.resx
    │       │   │   ├── AccountController.ru.resx
    │       │   │   ├── AccountController.sv.resx
    │       │   │   ├── AccountController.zh.resx
    │       │   │   ├── ManageController.da.resx
    │       │   │   ├── ManageController.de.resx
    │       │   │   ├── ManageController.en.resx
    │       │   │   ├── ManageController.es.resx
    │       │   │   ├── ManageController.fa.resx
    │       │   │   ├── ManageController.fi.resx
    │       │   │   ├── ManageController.fr.resx
    │       │   │   ├── ManageController.nl.resx
    │       │   │   ├── ManageController.pt.resx
    │       │   │   ├── ManageController.ru.resx
    │       │   │   ├── ManageController.sv.resx
    │       │   │   └── ManageController.zh.resx
    │       │   └── Views
    │       │       ├── Account
    │       │       │   ├── ConfirmEmail.da.resx
    │       │       │   ├── ConfirmEmail.de.resx
    │       │       │   ├── ConfirmEmail.en.resx
    │       │       │   ├── ConfirmEmail.es.resx
    │       │       │   ├── ConfirmEmail.fa.resx
    │       │       │   ├── ConfirmEmail.fi.resx
    │       │       │   ├── ConfirmEmail.fr.resx
    │       │       │   ├── ConfirmEmail.nl.resx
    │       │       │   ├── ConfirmEmail.pt.resx
    │       │       │   ├── ConfirmEmail.ru.resx
    │       │       │   ├── ConfirmEmail.sv.resx
    │       │       │   ├── ConfirmEmail.zh.resx
    │       │       │   ├── ExternalLoginConfirmation.da.resx
    │       │       │   ├── ExternalLoginConfirmation.de.resx
    │       │       │   ├── ExternalLoginConfirmation.en.resx
    │       │       │   ├── ExternalLoginConfirmation.es.resx
    │       │       │   ├── ExternalLoginConfirmation.fa.resx
    │       │       │   ├── ExternalLoginConfirmation.fi.resx
    │       │       │   ├── ExternalLoginConfirmation.fr.resx
    │       │       │   ├── ExternalLoginConfirmation.nl.resx
    │       │       │   ├── ExternalLoginConfirmation.pt.resx
    │       │       │   ├── ExternalLoginConfirmation.ru.resx
    │       │       │   ├── ExternalLoginConfirmation.sv.resx
    │       │       │   ├── ExternalLoginConfirmation.zh.resx
    │       │       │   ├── ExternalLoginFailure.da.resx
    │       │       │   ├── ExternalLoginFailure.de.resx
    │       │       │   ├── ExternalLoginFailure.en.resx
    │       │       │   ├── ExternalLoginFailure.es.resx
    │       │       │   ├── ExternalLoginFailure.fa.resx
    │       │       │   ├── ExternalLoginFailure.fi.resx
    │       │       │   ├── ExternalLoginFailure.fr.resx
    │       │       │   ├── ExternalLoginFailure.nl.resx
    │       │       │   ├── ExternalLoginFailure.pt.resx
    │       │       │   ├── ExternalLoginFailure.ru.resx
    │       │       │   ├── ExternalLoginFailure.sv.resx
    │       │       │   ├── ExternalLoginFailure.zh.resx
    │       │       │   ├── ForgotPasswordConfirmation.da.resx
    │       │       │   ├── ForgotPasswordConfirmation.de.resx
    │       │       │   ├── ForgotPasswordConfirmation.en.resx
    │       │       │   ├── ForgotPasswordConfirmation.es.resx
    │       │       │   ├── ForgotPasswordConfirmation.fa.resx
    │       │       │   ├── ForgotPasswordConfirmation.fi.resx
    │       │       │   ├── ForgotPasswordConfirmation.fr.resx
    │       │       │   ├── ForgotPasswordConfirmation.nl.resx
    │       │       │   ├── ForgotPasswordConfirmation.pt.resx
    │       │       │   ├── ForgotPasswordConfirmation.ru.resx
    │       │       │   ├── ForgotPasswordConfirmation.sv.resx
    │       │       │   ├── ForgotPasswordConfirmation.zh.resx
    │       │       │   ├── ForgotPassword.da.resx
    │       │       │   ├── ForgotPassword.de.resx
    │       │       │   ├── ForgotPassword.en.resx
    │       │       │   ├── ForgotPassword.es.resx
    │       │       │   ├── ForgotPassword.fa.resx
    │       │       │   ├── ForgotPassword.fi.resx
    │       │       │   ├── ForgotPassword.fr.resx
    │       │       │   ├── ForgotPassword.nl.resx
    │       │       │   ├── ForgotPassword.pt.resx
    │       │       │   ├── ForgotPassword.ru.resx
    │       │       │   ├── ForgotPassword.sv.resx
    │       │       │   ├── ForgotPassword.zh.resx
    │       │       │   ├── Lockout.da.resx
    │       │       │   ├── Lockout.de.resx
    │       │       │   ├── Lockout.en.resx
    │       │       │   ├── Lockout.es.resx
    │       │       │   ├── Lockout.fa.resx
    │       │       │   ├── Lockout.fi.resx
    │       │       │   ├── Lockout.fr.resx
    │       │       │   ├── Lockout.nl.resx
    │       │       │   ├── Lockout.pt.resx
    │       │       │   ├── Lockout.ru.resx
    │       │       │   ├── Lockout.sv.resx
    │       │       │   ├── Lockout.zh.resx
    │       │       │   ├── LoggedOut.da.resx
    │       │       │   ├── LoggedOut.de.resx
    │       │       │   ├── LoggedOut.en.resx
    │       │       │   ├── LoggedOut.es.resx
    │       │       │   ├── LoggedOut.fa.resx
    │       │       │   ├── LoggedOut.fi.resx
    │       │       │   ├── LoggedOut.fr.resx
    │       │       │   ├── LoggedOut.nl.resx
    │       │       │   ├── LoggedOut.pt.resx
    │       │       │   ├── LoggedOut.ru.resx
    │       │       │   ├── LoggedOut.sv.resx
    │       │       │   ├── LoggedOut.zh.resx
    │       │       │   ├── Login.da.resx
    │       │       │   ├── Login.de.resx
    │       │       │   ├── Login.en.resx
    │       │       │   ├── Login.es.resx
    │       │       │   ├── Login.fa.resx
    │       │       │   ├── Login.fi.resx
    │       │       │   ├── Login.fr.resx
    │       │       │   ├── Login.nl.resx
    │       │       │   ├── Login.pt.resx
    │       │       │   ├── Login.ru.resx
    │       │       │   ├── Login.sv.resx
    │       │       │   ├── LoginWith2fa.da.resx
    │       │       │   ├── LoginWith2fa.de.resx
    │       │       │   ├── LoginWith2fa.en.resx
    │       │       │   ├── LoginWith2fa.es.resx
    │       │       │   ├── LoginWith2fa.fa.resx
    │       │       │   ├── LoginWith2fa.fi.resx
    │       │       │   ├── LoginWith2fa.fr.resx
    │       │       │   ├── LoginWith2fa.nl.resx
    │       │       │   ├── LoginWith2fa.pt.resx
    │       │       │   ├── LoginWith2fa.ru.resx
    │       │       │   ├── LoginWith2fa.sv.resx
    │       │       │   ├── LoginWith2fa.zh.resx
    │       │       │   ├── LoginWithRecoveryCode.da.resx
    │       │       │   ├── LoginWithRecoveryCode.de.resx
    │       │       │   ├── LoginWithRecoveryCode.en.resx
    │       │       │   ├── LoginWithRecoveryCode.es.resx
    │       │       │   ├── LoginWithRecoveryCode.fa.resx
    │       │       │   ├── LoginWithRecoveryCode.fi.resx
    │       │       │   ├── LoginWithRecoveryCode.fr.resx
    │       │       │   ├── LoginWithRecoveryCode.nl.resx
    │       │       │   ├── LoginWithRecoveryCode.pt.resx
    │       │       │   ├── LoginWithRecoveryCode.ru.resx
    │       │       │   ├── LoginWithRecoveryCode.sv.resx
    │       │       │   ├── LoginWithRecoveryCode.zh.resx
    │       │       │   ├── Login.zh.resx
    │       │       │   ├── Logout.da.resx
    │       │       │   ├── Logout.de.resx
    │       │       │   ├── Logout.en.resx
    │       │       │   ├── Logout.es.resx
    │       │       │   ├── Logout.fa.resx
    │       │       │   ├── Logout.fi.resx
    │       │       │   ├── Logout.fr.resx
    │       │       │   ├── Logout.nl.resx
    │       │       │   ├── Logout.pt.resx
    │       │       │   ├── Logout.ru.resx
    │       │       │   ├── Logout.sv.resx
    │       │       │   ├── Logout.zh.resx
    │       │       │   ├── RegisterConfirmation.da.resx
    │       │       │   ├── RegisterConfirmation.de.resx
    │       │       │   ├── RegisterConfirmation.en.resx
    │       │       │   ├── RegisterConfirmation.es.resx
    │       │       │   ├── RegisterConfirmation.fa.resx
    │       │       │   ├── RegisterConfirmation.fi.resx
    │       │       │   ├── RegisterConfirmation.fr.resx
    │       │       │   ├── RegisterConfirmation.nl.resx
    │       │       │   ├── RegisterConfirmation.pt.resx
    │       │       │   ├── RegisterConfirmation.ru.resx
    │       │       │   ├── RegisterConfirmation.sv.resx
    │       │       │   ├── RegisterConfirmation.zh.resx
    │       │       │   ├── Register.da.resx
    │       │       │   ├── Register.de.resx
    │       │       │   ├── Register.en.resx
    │       │       │   ├── Register.es.resx
    │       │       │   ├── RegisterFailure.da.resx
    │       │       │   ├── RegisterFailure.de.resx
    │       │       │   ├── RegisterFailure.es.resx
    │       │       │   ├── RegisterFailure.fa.resx
    │       │       │   ├── RegisterFailure.fr.resx
    │       │       │   ├── RegisterFailure.pt.resx
    │       │       │   ├── RegisterFailure.resx
    │       │       │   ├── RegisterFailure.sv.resx
    │       │       │   ├── RegisterFailure.zh.resx
    │       │       │   ├── Register.fa.resx
    │       │       │   ├── Register.fi.resx
    │       │       │   ├── Register.fr.resx
    │       │       │   ├── Register.nl.resx
    │       │       │   ├── Register.pt.resx
    │       │       │   ├── Register.ru.resx
    │       │       │   ├── Register.sv.resx
    │       │       │   ├── RegisterWithoutUserName.da.resx
    │       │       │   ├── RegisterWithoutUserName.de.resx
    │       │       │   ├── RegisterWithoutUserName.en.resx
    │       │       │   ├── RegisterWithoutUserName.es.resx
    │       │       │   ├── RegisterWithoutUserName.fa.resx
    │       │       │   ├── RegisterWithoutUserName.fi.resx
    │       │       │   ├── RegisterWithoutUserName.fr.resx
    │       │       │   ├── RegisterWithoutUserName.nl.resx
    │       │       │   ├── RegisterWithoutUserName.pt.resx
    │       │       │   ├── RegisterWithoutUserName.ru.resx
    │       │       │   ├── RegisterWithoutUserName.sv.resx
    │       │       │   ├── RegisterWithoutUserName.zh.resx
    │       │       │   ├── Register.zh.resx
    │       │       │   ├── ResetPasswordConfirmation.da.resx
    │       │       │   ├── ResetPasswordConfirmation.de.resx
    │       │       │   ├── ResetPasswordConfirmation.en.resx
    │       │       │   ├── ResetPasswordConfirmation.es.resx
    │       │       │   ├── ResetPasswordConfirmation.fa.resx
    │       │       │   ├── ResetPasswordConfirmation.fi.resx
    │       │       │   ├── ResetPasswordConfirmation.fr.resx
    │       │       │   ├── ResetPasswordConfirmation.nl.resx
    │       │       │   ├── ResetPasswordConfirmation.pt.resx
    │       │       │   ├── ResetPasswordConfirmation.ru.resx
    │       │       │   ├── ResetPasswordConfirmation.sv.resx
    │       │       │   ├── ResetPasswordConfirmation.zh.resx
    │       │       │   ├── ResetPassword.da.resx
    │       │       │   ├── ResetPassword.de.resx
    │       │       │   ├── ResetPassword.en.resx
    │       │       │   ├── ResetPassword.es.resx
    │       │       │   ├── ResetPassword.fa.resx
    │       │       │   ├── ResetPassword.fi.resx
    │       │       │   ├── ResetPassword.fr.resx
    │       │       │   ├── ResetPassword.nl.resx
    │       │       │   ├── ResetPassword.pt.resx
    │       │       │   ├── ResetPassword.ru.resx
    │       │       │   ├── ResetPassword.sv.resx
    │       │       │   └── ResetPassword.zh.resx
    │       │       ├── Consent
    │       │       │   ├── Index.da.resx
    │       │       │   ├── Index.de.resx
    │       │       │   ├── Index.en.resx
    │       │       │   ├── Index.es.resx
    │       │       │   ├── Index.fa.resx
    │       │       │   ├── Index.fi.resx
    │       │       │   ├── Index.fr.resx
    │       │       │   ├── Index.nl.resx
    │       │       │   ├── Index.pt.resx
    │       │       │   ├── Index.ru.resx
    │       │       │   ├── Index.sv.resx
    │       │       │   └── Index.zh.resx
    │       │       ├── Device
    │       │       │   ├── Success.da.resx
    │       │       │   ├── Success.de.resx
    │       │       │   ├── Success.en.resx
    │       │       │   ├── Success.es.resx
    │       │       │   ├── Success.fa.resx
    │       │       │   ├── Success.fi.resx
    │       │       │   ├── Success.fr.resx
    │       │       │   ├── Success.nl.resx
    │       │       │   ├── Success.pt.resx
    │       │       │   ├── Success.ru.resx
    │       │       │   ├── Success.sv.resx
    │       │       │   ├── Success.zh.resx
    │       │       │   ├── UserCodeCapture.da.resx
    │       │       │   ├── UserCodeCapture.de.resx
    │       │       │   ├── UserCodeCapture.en.resx
    │       │       │   ├── UserCodeCapture.es.resx
    │       │       │   ├── UserCodeCapture.fa.resx
    │       │       │   ├── UserCodeCapture.fi.resx
    │       │       │   ├── UserCodeCapture.fr.resx
    │       │       │   ├── UserCodeCapture.nl.resx
    │       │       │   ├── UserCodeCapture.pt.resx
    │       │       │   ├── UserCodeCapture.ru.resx
    │       │       │   ├── UserCodeCapture.sv.resx
    │       │       │   ├── UserCodeCapture.zh.resx
    │       │       │   ├── UserCodeConfirmation.da.resx
    │       │       │   ├── UserCodeConfirmation.de.resx
    │       │       │   ├── UserCodeConfirmation.en.resx
    │       │       │   ├── UserCodeConfirmation.es.resx
    │       │       │   ├── UserCodeConfirmation.fa.resx
    │       │       │   ├── UserCodeConfirmation.fi.resx
    │       │       │   ├── UserCodeConfirmation.fr.resx
    │       │       │   ├── UserCodeConfirmation.nl.resx
    │       │       │   ├── UserCodeConfirmation.pt.resx
    │       │       │   ├── UserCodeConfirmation.ru.resx
    │       │       │   ├── UserCodeConfirmation.sv.resx
    │       │       │   └── UserCodeConfirmation.zh.resx
    │       │       ├── Diagnostics
    │       │       │   ├── Index.da.resx
    │       │       │   ├── Index.de.resx
    │       │       │   ├── Index.en.resx
    │       │       │   ├── Index.es.resx
    │       │       │   ├── Index.fa.resx
    │       │       │   ├── Index.fi.resx
    │       │       │   ├── Index.fr.resx
    │       │       │   ├── Index.nl.resx
    │       │       │   ├── Index.pt.resx
    │       │       │   ├── Index.ru.resx
    │       │       │   ├── Index.sv.resx
    │       │       │   └── Index.zh.resx
    │       │       ├── Grants
    │       │       │   ├── Index.da.resx
    │       │       │   ├── Index.de.resx
    │       │       │   ├── Index.en.resx
    │       │       │   ├── Index.es.resx
    │       │       │   ├── Index.fa.resx
    │       │       │   ├── Index.fi.resx
    │       │       │   ├── Index.fr.resx
    │       │       │   ├── Index.nl.resx
    │       │       │   ├── Index.pt.resx
    │       │       │   ├── Index.ru.resx
    │       │       │   ├── Index.sv.resx
    │       │       │   └── Index.zh.resx
    │       │       ├── Home
    │       │       │   ├── Index.da.resx
    │       │       │   ├── Index.de.resx
    │       │       │   ├── Index.en.resx
    │       │       │   ├── Index.es.resx
    │       │       │   ├── Index.fa.resx
    │       │       │   ├── Index.fi.resx
    │       │       │   ├── Index.fr.resx
    │       │       │   ├── Index.nl.resx
    │       │       │   ├── Index.pt.resx
    │       │       │   ├── Index.ru.resx
    │       │       │   ├── Index.sv.resx
    │       │       │   └── Index.zh.resx
    │       │       ├── Manage
    │       │       │   ├── ChangePassword.da.resx
    │       │       │   ├── ChangePassword.de.resx
    │       │       │   ├── ChangePassword.en.resx
    │       │       │   ├── ChangePassword.es.resx
    │       │       │   ├── ChangePassword.fa.resx
    │       │       │   ├── ChangePassword.fi.resx
    │       │       │   ├── ChangePassword.fr.resx
    │       │       │   ├── ChangePassword.nl.resx
    │       │       │   ├── ChangePassword.pt.resx
    │       │       │   ├── ChangePassword.ru.resx
    │       │       │   ├── ChangePassword.sv.resx
    │       │       │   ├── ChangePassword.zh.resx
    │       │       │   ├── DeletePersonalData.da.resx
    │       │       │   ├── DeletePersonalData.de.resx
    │       │       │   ├── DeletePersonalData.en.resx
    │       │       │   ├── DeletePersonalData.es.resx
    │       │       │   ├── DeletePersonalData.fa.resx
    │       │       │   ├── DeletePersonalData.fi.resx
    │       │       │   ├── DeletePersonalData.fr.resx
    │       │       │   ├── DeletePersonalData.nl.resx
    │       │       │   ├── DeletePersonalData.pt.resx
    │       │       │   ├── DeletePersonalData.ru.resx
    │       │       │   ├── DeletePersonalData.sv.resx
    │       │       │   ├── DeletePersonalData.zh.resx
    │       │       │   ├── Disable2fa.da.resx
    │       │       │   ├── Disable2fa.de.resx
    │       │       │   ├── Disable2fa.en.resx
    │       │       │   ├── Disable2fa.es.resx
    │       │       │   ├── Disable2fa.fa.resx
    │       │       │   ├── Disable2fa.fi.resx
    │       │       │   ├── Disable2fa.fr.resx
    │       │       │   ├── Disable2fa.nl.resx
    │       │       │   ├── Disable2fa.pt.resx
    │       │       │   ├── Disable2fa.ru.resx
    │       │       │   ├── Disable2fa.sv.resx
    │       │       │   ├── Disable2fa.zh.resx
    │       │       │   ├── DownloadPersonalData.da.resx
    │       │       │   ├── DownloadPersonalData.de.resx
    │       │       │   ├── DownloadPersonalData.en.resx
    │       │       │   ├── DownloadPersonalData.es.resx
    │       │       │   ├── DownloadPersonalData.fa.resx
    │       │       │   ├── DownloadPersonalData.fi.resx
    │       │       │   ├── DownloadPersonalData.fr.resx
    │       │       │   ├── DownloadPersonalData.nl.resx
    │       │       │   ├── DownloadPersonalData.pt.resx
    │       │       │   ├── DownloadPersonalData.ru.resx
    │       │       │   ├── DownloadPersonalData.sv.resx
    │       │       │   ├── DownloadPersonalData.zh.resx
    │       │       │   ├── EnableAuthenticator.da.resx
    │       │       │   ├── EnableAuthenticator.de.resx
    │       │       │   ├── EnableAuthenticator.en.resx
    │       │       │   ├── EnableAuthenticator.es.resx
    │       │       │   ├── EnableAuthenticator.fa.resx
    │       │       │   ├── EnableAuthenticator.fi.resx
    │       │       │   ├── EnableAuthenticator.fr.resx
    │       │       │   ├── EnableAuthenticator.nl.resx
    │       │       │   ├── EnableAuthenticator.pt.resx
    │       │       │   ├── EnableAuthenticator.ru.resx
    │       │       │   ├── EnableAuthenticator.sv.resx
    │       │       │   ├── EnableAuthenticator.zh.resx
    │       │       │   ├── ExternalLogins.da.resx
    │       │       │   ├── ExternalLogins.de.resx
    │       │       │   ├── ExternalLogins.en.resx
    │       │       │   ├── ExternalLogins.es.resx
    │       │       │   ├── ExternalLogins.fa.resx
    │       │       │   ├── ExternalLogins.fi.resx
    │       │       │   ├── ExternalLogins.fr.resx
    │       │       │   ├── ExternalLogins.nl.resx
    │       │       │   ├── ExternalLogins.pt.resx
    │       │       │   ├── ExternalLogins.ru.resx
    │       │       │   ├── ExternalLogins.sv.resx
    │       │       │   ├── ExternalLogins.zh.resx
    │       │       │   ├── GenerateRecoveryCodes.da.resx
    │       │       │   ├── GenerateRecoveryCodes.de.resx
    │       │       │   ├── GenerateRecoveryCodes.en.resx
    │       │       │   ├── GenerateRecoveryCodes.es.resx
    │       │       │   ├── GenerateRecoveryCodes.fa.resx
    │       │       │   ├── GenerateRecoveryCodes.fi.resx
    │       │       │   ├── GenerateRecoveryCodes.fr.resx
    │       │       │   ├── GenerateRecoveryCodes.nl.resx
    │       │       │   ├── GenerateRecoveryCodes.pt.resx
    │       │       │   ├── GenerateRecoveryCodes.ru.resx
    │       │       │   ├── GenerateRecoveryCodes.sv.resx
    │       │       │   ├── GenerateRecoveryCodes.zh.resx
    │       │       │   ├── Index.da.resx
    │       │       │   ├── Index.de.resx
    │       │       │   ├── Index.en.resx
    │       │       │   ├── Index.es.resx
    │       │       │   ├── Index.fa.resx
    │       │       │   ├── Index.fi.resx
    │       │       │   ├── Index.fr.resx
    │       │       │   ├── Index.nl.resx
    │       │       │   ├── Index.pt.resx
    │       │       │   ├── Index.ru.resx
    │       │       │   ├── Index.sv.resx
    │       │       │   ├── Index.zh.resx
    │       │       │   ├── LinkLoginFailure.da.resx
    │       │       │   ├── LinkLoginFailure.de.resx
    │       │       │   ├── LinkLoginFailure.en.resx
    │       │       │   ├── LinkLoginFailure.es.resx
    │       │       │   ├── LinkLoginFailure.fa.resx
    │       │       │   ├── LinkLoginFailure.fi.resx
    │       │       │   ├── LinkLoginFailure.fr.resx
    │       │       │   ├── LinkLoginFailure.nl.resx
    │       │       │   ├── LinkLoginFailure.pt.resx
    │       │       │   ├── LinkLoginFailure.ru.resx
    │       │       │   ├── LinkLoginFailure.sv.resx
    │       │       │   ├── LinkLoginFailure.zh.resx
    │       │       │   ├── PersonalData.da.resx
    │       │       │   ├── PersonalData.de.resx
    │       │       │   ├── PersonalData.en.resx
    │       │       │   ├── PersonalData.es.resx
    │       │       │   ├── PersonalData.fa.resx
    │       │       │   ├── PersonalData.fi.resx
    │       │       │   ├── PersonalData.fr.resx
    │       │       │   ├── PersonalData.nl.resx
    │       │       │   ├── PersonalData.pt.resx
    │       │       │   ├── PersonalData.ru.resx
    │       │       │   ├── PersonalData.sv.resx
    │       │       │   ├── PersonalData.zh.resx
    │       │       │   ├── ResetAuthenticator.da.resx
    │       │       │   ├── ResetAuthenticator.de.resx
    │       │       │   ├── ResetAuthenticator.en.resx
    │       │       │   ├── ResetAuthenticator.es.resx
    │       │       │   ├── ResetAuthenticator.fa.resx
    │       │       │   ├── ResetAuthenticator.fi.resx
    │       │       │   ├── ResetAuthenticator.fr.resx
    │       │       │   ├── ResetAuthenticator.nl.resx
    │       │       │   ├── ResetAuthenticator.pt.resx
    │       │       │   ├── ResetAuthenticator.ru.resx
    │       │       │   ├── ResetAuthenticator.sv.resx
    │       │       │   ├── ResetAuthenticator.zh.resx
    │       │       │   ├── SetPassword.da.resx
    │       │       │   ├── SetPassword.de.resx
    │       │       │   ├── SetPassword.en.resx
    │       │       │   ├── SetPassword.es.resx
    │       │       │   ├── SetPassword.fa.resx
    │       │       │   ├── SetPassword.fi.resx
    │       │       │   ├── SetPassword.fr.resx
    │       │       │   ├── SetPassword.nl.resx
    │       │       │   ├── SetPassword.pt.resx
    │       │       │   ├── SetPassword.ru.resx
    │       │       │   ├── SetPassword.sv.resx
    │       │       │   ├── SetPassword.zh.resx
    │       │       │   ├── ShowRecoveryCodes.da.resx
    │       │       │   ├── ShowRecoveryCodes.de.resx
    │       │       │   ├── ShowRecoveryCodes.en.resx
    │       │       │   ├── ShowRecoveryCodes.es.resx
    │       │       │   ├── ShowRecoveryCodes.fa.resx
    │       │       │   ├── ShowRecoveryCodes.fi.resx
    │       │       │   ├── ShowRecoveryCodes.fr.resx
    │       │       │   ├── ShowRecoveryCodes.nl.resx
    │       │       │   ├── ShowRecoveryCodes.pt.resx
    │       │       │   ├── ShowRecoveryCodes.ru.resx
    │       │       │   ├── ShowRecoveryCodes.sv.resx
    │       │       │   ├── ShowRecoveryCodes.zh.resx
    │       │       │   ├── TwoFactorAuthentication.da.resx
    │       │       │   ├── TwoFactorAuthentication.de.resx
    │       │       │   ├── TwoFactorAuthentication.en.resx
    │       │       │   ├── TwoFactorAuthentication.es.resx
    │       │       │   ├── TwoFactorAuthentication.fa.resx
    │       │       │   ├── TwoFactorAuthentication.fi.resx
    │       │       │   ├── TwoFactorAuthentication.fr.resx
    │       │       │   ├── TwoFactorAuthentication.nl.resx
    │       │       │   ├── TwoFactorAuthentication.pt.resx
    │       │       │   ├── TwoFactorAuthentication.ru.resx
    │       │       │   ├── TwoFactorAuthentication.sv.resx
    │       │       │   └── TwoFactorAuthentication.zh.resx
    │       │       └── Shared
    │       │           ├── Common
    │       │           │   ├── SelectLanguage.da.resx
    │       │           │   ├── SelectLanguage.de.resx
    │       │           │   ├── SelectLanguage.en.resx
    │       │           │   ├── SelectLanguage.es.resx
    │       │           │   ├── SelectLanguage.fa.resx
    │       │           │   ├── SelectLanguage.fi.resx
    │       │           │   ├── SelectLanguage.fr.resx
    │       │           │   ├── SelectLanguage.nl.resx
    │       │           │   ├── SelectLanguage.pt.resx
    │       │           │   ├── SelectLanguage.ru.resx
    │       │           │   ├── SelectLanguage.sv.resx
    │       │           │   └── SelectLanguage.zh.resx
    │       │           ├── Components
    │       │           │   └── IdentityServerAdminLink
    │       │           │       ├── Default.da.resx
    │       │           │       ├── Default.de.resx
    │       │           │       ├── Default.en.resx
    │       │           │       ├── Default.es.resx
    │       │           │       ├── Default.fa.resx
    │       │           │       ├── Default.fi.resx
    │       │           │       ├── Default.fr.resx
    │       │           │       ├── Default.nl.resx
    │       │           │       ├── Default.pt.resx
    │       │           │       ├── Default.ru.resx
    │       │           │       ├── Default.sv.resx
    │       │           │       └── Default.zh.resx
    │       │           ├── Error.da.resx
    │       │           ├── Error.de.resx
    │       │           ├── Error.en.resx
    │       │           ├── Error.es.resx
    │       │           ├── Error.fa.resx
    │       │           ├── Error.fi.resx
    │       │           ├── Error.fr.resx
    │       │           ├── Error.nl.resx
    │       │           ├── Error.pt.resx
    │       │           ├── Error.ru.resx
    │       │           ├── Error.sv.resx
    │       │           ├── Error.zh.resx
    │       │           ├── _Layout.da.resx
    │       │           ├── _Layout.de.resx
    │       │           ├── _Layout.en.resx
    │       │           ├── _Layout.es.resx
    │       │           ├── _Layout.fa.resx
    │       │           ├── _Layout.fi.resx
    │       │           ├── _Layout.fr.resx
    │       │           ├── _Layout.nl.resx
    │       │           ├── _Layout.pt.resx
    │       │           ├── _Layout.ru.resx
    │       │           ├── _Layout.sv.resx
    │       │           ├── _Layout.zh.resx
    │       │           ├── Redirect.da.resx
    │       │           ├── Redirect.de.resx
    │       │           ├── Redirect.en.resx
    │       │           ├── Redirect.es.resx
    │       │           ├── Redirect.fa.resx
    │       │           ├── Redirect.fi.resx
    │       │           ├── Redirect.fr.resx
    │       │           ├── Redirect.nl.resx
    │       │           ├── Redirect.pt.resx
    │       │           ├── Redirect.ru.resx
    │       │           ├── Redirect.sv.resx
    │       │           ├── Redirect.zh.resx
    │       │           ├── _ScopeListItem.da.resx
    │       │           ├── _ScopeListItem.de.resx
    │       │           ├── _ScopeListItem.en.resx
    │       │           ├── _ScopeListItem.es.resx
    │       │           ├── _ScopeListItem.fa.resx
    │       │           ├── _ScopeListItem.fi.resx
    │       │           ├── _ScopeListItem.fr.resx
    │       │           ├── _ScopeListItem.nl.resx
    │       │           ├── _ScopeListItem.pt.resx
    │       │           ├── _ScopeListItem.ru.resx
    │       │           ├── _ScopeListItem.sv.resx
    │       │           ├── _ScopeListItem.zh.resx
    │       │           ├── _ValidationSummary.da.resx
    │       │           ├── _ValidationSummary.de.resx
    │       │           ├── _ValidationSummary.en.resx
    │       │           ├── _ValidationSummary.es.resx
    │       │           ├── _ValidationSummary.fa.resx
    │       │           ├── _ValidationSummary.fi.resx
    │       │           ├── _ValidationSummary.fr.resx
    │       │           ├── _ValidationSummary.nl.resx
    │       │           ├── _ValidationSummary.pt.resx
    │       │           ├── _ValidationSummary.ru.resx
    │       │           ├── _ValidationSummary.sv.resx
    │       │           └── _ValidationSummary.zh.resx
    │       ├── Scripts
    │       │   └── App
    │       │       └── components
    │       │           ├── CookieConsent.js
    │       │           ├── Language.js
    │       │           ├── Menu.js
    │       │           └── Theme.js
    │       ├── serilog.json
    │       ├── Services
    │       │   ├── AuditEventSink.cs
    │       │   └── OpenIdClaimsMappingConfig.cs
    │       ├── Skoruba.Duende.IdentityServer.STS.Identity.csproj
    │       ├── Startup.cs
    │       ├── Styles
    │       │   ├── common
    │       │   │   ├── _all.scss
    │       │   │   ├── common.scss
    │       │   │   ├── fonts.scss
    │       │   │   ├── form.scss
    │       │   │   ├── margin.css
    │       │   │   ├── margin.min.css
    │       │   │   ├── margin.scss
    │       │   │   ├── padding.css
    │       │   │   ├── padding.min.css
    │       │   │   └── padding.scss
    │       │   ├── controls
    │       │   │   ├── _all.scss
    │       │   │   ├── checkbox.scss
    │       │   │   ├── cookieconsent.scss
    │       │   │   ├── navbar.scss
    │       │   │   ├── QRCode.scss
    │       │   │   ├── radio.scss
    │       │   │   ├── validation.summary.css
    │       │   │   ├── validation.summary.min.css
    │       │   │   └── validation.summary.scss
    │       │   ├── pages
    │       │   │   ├── _all.scss
    │       │   │   ├── consent.scss
    │       │   │   ├── grants.scss
    │       │   │   └── logout.scss
    │       │   ├── web.css
    │       │   ├── web.min.css
    │       │   └── web.scss
    │       ├── tempkey.jwk
    │       ├── ViewComponents
    │       │   └── IdentityServerAdminLinkViewComponent.cs
    │       ├── ViewModels
    │       │   ├── Account
    │       │   │   ├── ExternalLoginConfirmationViewModel.cs
    │       │   │   ├── ExternalProvider.cs
    │       │   │   ├── ForgotPasswordViewModel.cs
    │       │   │   ├── LoggedOutViewModel.cs
    │       │   │   ├── LoginInputModel.cs
    │       │   │   ├── LoginViewModel.cs
    │       │   │   ├── LoginWith2faViewModel.cs
    │       │   │   ├── LoginWithRecoveryCodeViewModel.cs
    │       │   │   ├── LogoutInputModel.cs
    │       │   │   ├── LogoutViewModel.cs
    │       │   │   ├── RedirectViewModel.cs
    │       │   │   ├── RegisterConfirmationViewModel.cs
    │       │   │   ├── RegisterViewModel.cs
    │       │   │   ├── RegisterWithoutUsernameViewModel.cs
    │       │   │   └── ResetPasswordViewModel.cs
    │       │   ├── Consent
    │       │   │   ├── ConsentInputModel.cs
    │       │   │   ├── ConsentViewModel.cs
    │       │   │   ├── ProcessConsentResult.cs
    │       │   │   └── ScopeViewModel.cs
    │       │   ├── Device
    │       │   │   ├── DeviceAuthorizationInputModel.cs
    │       │   │   └── DeviceAuthorizationViewModel.cs
    │       │   ├── Diagnostics
    │       │   │   └── DiagnosticsViewModel.cs
    │       │   ├── Grants
    │       │   │   └── GrantsViewModel.cs
    │       │   ├── Home
    │       │   │   └── ErrorViewModel.cs
    │       │   └── Manage
    │       │       ├── ChangePasswordViewModel.cs
    │       │       ├── DeletePersonalDataViewModel.cs
    │       │       ├── EnableAuthenticatorViewModel.cs
    │       │       ├── ExternalLoginsViewModel.cs
    │       │       ├── IndexViewModel.cs
    │       │       ├── RemoveLoginViewModel.cs
    │       │       ├── SetPasswordViewModel.cs
    │       │       ├── ShowRecoveryCodesViewModel.cs
    │       │       └── TwoFactorAuthenticationViewModel.cs
    │       ├── Views
    │       │   ├── Account
    │       │   │   ├── ConfirmEmail.cshtml
    │       │   │   ├── ExternalLoginConfirmation.cshtml
    │       │   │   ├── ExternalLoginFailure.cshtml
    │       │   │   ├── ForgotPasswordConfirmation.cshtml
    │       │   │   ├── ForgotPassword.cshtml
    │       │   │   ├── Lockout.cshtml
    │       │   │   ├── LoggedOut.cshtml
    │       │   │   ├── Login.cshtml
    │       │   │   ├── LoginWith2fa.cshtml
    │       │   │   ├── LoginWithRecoveryCode.cshtml
    │       │   │   ├── Logout.cshtml
    │       │   │   ├── RegisterConfirmation.cshtml
    │       │   │   ├── Register.cshtml
    │       │   │   ├── RegisterFailure.cshtml
    │       │   │   ├── RegisterWithoutUsername.cshtml
    │       │   │   ├── ResetPasswordConfirmation.cshtml
    │       │   │   └── ResetPassword.cshtml
    │       │   ├── Consent
    │       │   │   └── Index.cshtml
    │       │   ├── Device
    │       │   │   ├── Success.cshtml
    │       │   │   ├── UserCodeCapture.cshtml
    │       │   │   └── UserCodeConfirmation.cshtml
    │       │   ├── Diagnostics
    │       │   │   └── Index.cshtml
    │       │   ├── Grants
    │       │   │   └── Index.cshtml
    │       │   ├── Home
    │       │   │   └── Index.cshtml
    │       │   ├── Manage
    │       │   │   ├── ChangePassword.cshtml
    │       │   │   ├── DeletePersonalData.cshtml
    │       │   │   ├── Disable2fa.cshtml
    │       │   │   ├── DownloadPersonalData.cshtml
    │       │   │   ├── EnableAuthenticator.cshtml
    │       │   │   ├── ExternalLogins.cshtml
    │       │   │   ├── GenerateRecoveryCodes.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── LinkLoginFailure.cshtml
    │       │   │   ├── PersonalData.cshtml
    │       │   │   ├── ResetAuthenticator.cshtml
    │       │   │   ├── SetPassword.cshtml
    │       │   │   ├── ShowRecoveryCodes.cshtml
    │       │   │   ├── _StatusMessage.cshtml
    │       │   │   └── TwoFactorAuthentication.cshtml
    │       │   ├── Shared
    │       │   │   ├── Common
    │       │   │   │   ├── ApplicationVersion.cshtml
    │       │   │   │   ├── SelectLanguage.cshtml
    │       │   │   │   ├── SelectTheme.cshtml
    │       │   │   │   └── ThemeResources.cshtml
    │       │   │   ├── Components
    │       │   │   │   └── IdentityServerAdminLink
    │       │   │   │       └── Default.cshtml
    │       │   │   ├── Error.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   ├── Redirect.cshtml
    │       │   │   ├── _ScopeListItem.cshtml
    │       │   │   └── _ValidationSummary.cshtml
    │       │   ├── _ViewImports.cshtml
    │       │   └── _ViewStart.cshtml
    │       └── wwwroot
    │           ├── dist
    │           │   ├── css
    │           │   │   ├── bundle.min.css
    │           │   │   ├── themes
    │           │   │   │   ├── cerulean
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── cosmo
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── cyborg
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── darkly
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── flatly
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── journal
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── litera
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── lumen
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── lux
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── materia
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── minty
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── pulse
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── sandstone
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── simplex
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── sketchy
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── slate
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── solar
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── spacelab
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── superhero
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   ├── united
    │           │   │   │   │   └── bootstrap.min.css
    │           │   │   │   └── yeti
    │           │   │   │       └── bootstrap.min.css
    │           │   │   ├── web.css
    │           │   │   └── web.min.css
    │           │   ├── fonts
    │           │   │   ├── FontAwesome.otf
    │           │   │   ├── fontawesome-webfont.eot
    │           │   │   ├── fontawesome-webfont.svg
    │           │   │   ├── fontawesome-webfont.ttf
    │           │   │   ├── fontawesome-webfont.woff
    │           │   │   ├── fontawesome-webfont.woff2
    │           │   │   ├── open-iconic.eot
    │           │   │   ├── open-iconic.otf
    │           │   │   ├── open-iconic.svg
    │           │   │   ├── open-iconic.ttf
    │           │   │   └── open-iconic.woff
    │           │   └── js
    │           │       └── bundle.min.js
    │           ├── favicon.ico
    │           ├── images
    │           │   └── skoruba-icon.png
    │           └── js
    │               ├── forgot-password.js
    │               ├── qrcode.js
    │               ├── qrcode.min.js
    │               ├── signin-redirect.js
    │               └── signout-redirect.js
    ├── templates
    │   ├── 0-build-template.ps1
    │   ├── 1-add-docker-support.ps1
    │   ├── 2-publish-template.ps1
    │   ├── 3-clean-up.ps1
    │   ├── install.ps1
    │   ├── template-build
    │   │   ├── content
    │   │   │   └── Skoruba.Duende.IdentityServer.Admin.sln
    │   │   └── Skoruba.Duende.IdentityServer.Admin.Templates.nuspec
    │   ├── template-docker
    │   │   ├── SkorubaDuende.IdentityServerAdmin.Admin
    │   │   │   └── Dockerfile
    │   │   ├── SkorubaDuende.IdentityServerAdmin.Admin.Api
    │   │   │   └── Dockerfile
    │   │   └── SkorubaDuende.IdentityServerAdmin.STS.Identity
    │   │       └── Dockerfile
    │   └── template-publish
    │       ├── content
    │       │   ├── docker-compose.dcproj
    │       │   ├── docker-compose.override.yml
    │       │   ├── docker-compose.vs.debug.yml
    │       │   ├── docker-compose.vs.release.yml
    │       │   ├── docker-compose.yml
    │       │   ├── shared
    │       │   │   ├── identitydata.json
    │       │   │   ├── identityserverdata.json
    │       │   │   ├── nginx
    │       │   │   │   └── vhost.d
    │       │   │   │       ├── admin.skoruba.local_location
    │       │   │   │       └── sts.skoruba.local_location
    │       │   │   └── serilog.json
    │       │   ├── SkorubaDuende.IdentityServerAdmin.Admin.sln
    │       │   ├── SkorubaDuende.IdentityServerAdmin.AdminUI.sln
    │       │   └── src
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Admin
    │       │       │   ├── appsettings.json
    │       │       │   ├── Configuration
    │       │       │   │   ├── Database
    │       │       │   │   │   └── MigrationAssemblyConfiguration.cs
    │       │       │   │   └── Test
    │       │       │   │       └── StartupTest.cs
    │       │       │   ├── Dockerfile
    │       │       │   ├── Helpers
    │       │       │   │   └── StartupHelpers.cs
    │       │       │   ├── identitydata.json
    │       │       │   ├── identityserverdata.json
    │       │       │   ├── Program.cs
    │       │       │   ├── Properties
    │       │       │   │   └── launchSettings.json
    │       │       │   ├── serilog.json
    │       │       │   ├── SkorubaDuende.IdentityServerAdmin.Admin.csproj
    │       │       │   └── Startup.cs
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Admin.Api
    │       │       │   ├── appsettings.json
    │       │       │   ├── Configuration
    │       │       │   │   ├── AdminApiConfiguration.cs
    │       │       │   │   ├── ApplicationParts
    │       │       │   │   │   ├── GenericControllerRouteConvention.cs
    │       │       │   │   │   └── GenericTypeControllerFeatureProvider.cs
    │       │       │   │   ├── AuditLogging
    │       │       │   │   │   ├── ApiAuditAction.cs
    │       │       │   │   │   ├── ApiAuditSubject.cs
    │       │       │   │   │   └── AuditLoggingConfiguration.cs
    │       │       │   │   ├── Authorization
    │       │       │   │   │   └── AuthorizeCheckOperationFilter.cs
    │       │       │   │   ├── Constants
    │       │       │   │   │   ├── AuthorizationConsts.cs
    │       │       │   │   │   └── ConfigurationConsts.cs
    │       │       │   │   └── Test
    │       │       │   │       └── StartupTest.cs
    │       │       │   ├── Controllers
    │       │       │   │   ├── ApiResourcesController.cs
    │       │       │   │   ├── ApiScopesController.cs
    │       │       │   │   ├── ClientsController.cs
    │       │       │   │   ├── IdentityProvidersController.cs
    │       │       │   │   ├── IdentityResourcesController.cs
    │       │       │   │   ├── KeysController.cs
    │       │       │   │   ├── PersistedGrantsController.cs
    │       │       │   │   ├── RolesController.cs
    │       │       │   │   └── UsersController.cs
    │       │       │   ├── Dockerfile
    │       │       │   ├── Dtos
    │       │       │   │   ├── ApiResources
    │       │       │   │   │   ├── ApiResourceApiDto.cs
    │       │       │   │   │   ├── ApiResourcePropertiesApiDto.cs
    │       │       │   │   │   ├── ApiResourcePropertyApiDto.cs
    │       │       │   │   │   ├── ApiResourcesApiDto.cs
    │       │       │   │   │   ├── ApiSecretApiDto.cs
    │       │       │   │   │   └── ApiSecretsApiDto.cs
    │       │       │   │   ├── ApiScopes
    │       │       │   │   │   ├── ApiScopeApiDto.cs
    │       │       │   │   │   ├── ApiScopePropertiesApiDto.cs
    │       │       │   │   │   ├── ApiScopePropertyApiDto.cs
    │       │       │   │   │   └── ApiScopesApiDto.cs
    │       │       │   │   ├── Clients
    │       │       │   │   │   ├── ClientApiDto.cs
    │       │       │   │   │   ├── ClientClaimApiDto.cs
    │       │       │   │   │   ├── ClientClaimsApiDto.cs
    │       │       │   │   │   ├── ClientCloneApiDto.cs
    │       │       │   │   │   ├── ClientPropertiesApiDto.cs
    │       │       │   │   │   ├── ClientPropertyApiDto.cs
    │       │       │   │   │   ├── ClientsApiDto.cs
    │       │       │   │   │   ├── ClientSecretApiDto.cs
    │       │       │   │   │   └── ClientSecretsApiDto.cs
    │       │       │   │   ├── IdentityProvider
    │       │       │   │   │   ├── IdentityProviderApiDto.cs
    │       │       │   │   │   └── IdentityProvidersApiDto.cs
    │       │       │   │   ├── IdentityResources
    │       │       │   │   │   ├── IdentityResourceApiDto.cs
    │       │       │   │   │   ├── IdentityResourcePropertiesApiDto.cs
    │       │       │   │   │   ├── IdentityResourcePropertyApiDto.cs
    │       │       │   │   │   └── IdentityResourcesApiDto.cs
    │       │       │   │   ├── Key
    │       │       │   │   │   ├── KeyApiDto.cs
    │       │       │   │   │   └── KeysApiDto.cs
    │       │       │   │   ├── PersistedGrants
    │       │       │   │   │   ├── PersistedGrantApiDto.cs
    │       │       │   │   │   ├── PersistedGrantsApiDto.cs
    │       │       │   │   │   ├── PersistedGrantSubjectApiDto.cs
    │       │       │   │   │   └── PersistedGrantSubjectsApiDto.cs
    │       │       │   │   ├── Roles
    │       │       │   │   │   ├── RoleClaimApiDto.cs
    │       │       │   │   │   └── RoleClaimsApiDto.cs
    │       │       │   │   └── Users
    │       │       │   │       ├── UserChangePasswordApiDto.cs
    │       │       │   │       ├── UserClaimApiDto.cs
    │       │       │   │       ├── UserClaimsApiDto.cs
    │       │       │   │       ├── UserProviderApiDto.cs
    │       │       │   │       ├── UserProviderDeleteApiDto.cs
    │       │       │   │       ├── UserProvidersApiDto.cs
    │       │       │   │       ├── UserRoleApiDto.cs
    │       │       │   │       └── UserRolesApiDto.cs
    │       │       │   ├── ExceptionHandling
    │       │       │   │   ├── ApiError.cs
    │       │       │   │   └── ControllerExceptionFilterAttribute.cs
    │       │       │   ├── Helpers
    │       │       │   │   ├── Localization
    │       │       │   │   │   ├── GenericControllerLocalizer.cs
    │       │       │   │   │   └── IGenericControllerLocalizer.cs
    │       │       │   │   ├── StartupHelpers.cs
    │       │       │   │   └── UrlHelpers.cs
    │       │       │   ├── Mappers
    │       │       │   │   ├── ApiResourceApiMapperProfile.cs
    │       │       │   │   ├── ApiResourceApiMappers.cs
    │       │       │   │   ├── ApiScopeApiMapperProfile.cs
    │       │       │   │   ├── ApiScopeApiMappers.cs
    │       │       │   │   ├── ClientApiMapperProfile.cs
    │       │       │   │   ├── ClientApiMappers.cs
    │       │       │   │   ├── IdentityMapperProfile.cs
    │       │       │   │   ├── IdentityProviderApiMapperProfile.cs
    │       │       │   │   ├── IdentityProviderApiMappers.cs
    │       │       │   │   ├── IdentityResourceApiMapperProfile.cs
    │       │       │   │   ├── IdentityResourceApiMappers.cs
    │       │       │   │   ├── KeyApiMapperProfile.cs
    │       │       │   │   ├── KeyApiMappers.cs
    │       │       │   │   ├── PersistedGrantApiMapperProfile.cs
    │       │       │   │   └── PersistedGrantApiMappers.cs
    │       │       │   ├── Middlewares
    │       │       │   │   └── AuthenticatedTestRequestMiddleware.cs
    │       │       │   ├── Program.cs
    │       │       │   ├── Properties
    │       │       │   │   └── launchSettings.json
    │       │       │   ├── Resources
    │       │       │   │   ├── ApiErrorResource.Designer.cs
    │       │       │   │   ├── ApiErrorResource.nl.resx
    │       │       │   │   ├── ApiErrorResource.resx
    │       │       │   │   ├── ApiErrorResources.cs
    │       │       │   │   └── IApiErrorResources.cs
    │       │       │   ├── serilog.json
    │       │       │   ├── SkorubaDuende.IdentityServerAdmin.Admin.Api.csproj
    │       │       │   └── Startup.cs
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.MySql
    │       │       │   ├── Helpers
    │       │       │   │   └── MigrationAssembly.cs
    │       │       │   ├── Migrations
    │       │       │   │   ├── AuditLogging
    │       │       │   │   │   ├── 20191120085753_DbInit.cs
    │       │       │   │   │   ├── 20191120085753_DbInit.Designer.cs
    │       │       │   │   │   ├── 20200419131142_ChangeAuditLogToLong.cs
    │       │       │   │   │   ├── 20200419131142_ChangeAuditLogToLong.Designer.cs
    │       │       │   │   │   └── AdminAuditLogDbContextModelSnapshot.cs
    │       │       │   │   ├── DataProtection
    │       │       │   │   │   ├── 20200419131430_AddDataProtection.cs
    │       │       │   │   │   ├── 20200419131430_AddDataProtection.Designer.cs
    │       │       │   │   │   └── IdentityServerDataProtectionDbContextModelSnapshot.cs
    │       │       │   │   ├── Identity
    │       │       │   │   │   ├── 20191120085611_DbInit.cs
    │       │       │   │   │   ├── 20191120085611_DbInit.Designer.cs
    │       │       │   │   │   └── AdminIdentityDbContextModelSnapshot.cs
    │       │       │   │   ├── IdentityServerConfiguration
    │       │       │   │   │   ├── 20191120085701_DbInit.cs
    │       │       │   │   │   ├── 20191120085701_DbInit.Designer.cs
    │       │       │   │   │   ├── 20201108173253_UpdateIdentityServerToVersion4.cs
    │       │       │   │   │   ├── 20201108173253_UpdateIdentityServerToVersion4.Designer.cs
    │       │       │   │   │   ├── 20210318073713_AddRequireResourceIndicator.cs
    │       │       │   │   │   ├── 20210318073713_AddRequireResourceIndicator.Designer.cs
    │       │       │   │   │   ├── 20211211141521_UpdateISKeysIDP.cs
    │       │       │   │   │   ├── 20211211141521_UpdateISKeysIDP.Designer.cs
    │       │       │   │   │   ├── 20220125140746_UpdateToIS62.cs
    │       │       │   │   │   ├── 20220125140746_UpdateToIS62.Designer.cs
    │       │       │   │   │   ├── 20230119113834_UpdateToIS621.cs
    │       │       │   │   │   ├── 20230119113834_UpdateToIS621.Designer.cs
    │       │       │   │   │   ├── 20240206153506_IdentityServerV7.cs
    │       │       │   │   │   ├── 20240206153506_IdentityServerV7.Designer.cs
    │       │       │   │   │   └── IdentityServerConfigurationDbContextModelSnapshot.cs
    │       │       │   │   ├── IdentityServerGrants
    │       │       │   │   │   ├── 20191120085729_DbInit.cs
    │       │       │   │   │   ├── 20191120085729_DbInit.Designer.cs
    │       │       │   │   │   ├── 20201108173143_UpdateIdentityServerToVersion4.cs
    │       │       │   │   │   ├── 20201108173143_UpdateIdentityServerToVersion4.Designer.cs
    │       │       │   │   │   ├── 20211211141458_UpdateISKeysIDP.cs
    │       │       │   │   │   ├── 20211211141458_UpdateISKeysIDP.Designer.cs
    │       │       │   │   │   ├── 20230119113811_UpdateToIS621.cs
    │       │       │   │   │   ├── 20230119113811_UpdateToIS621.Designer.cs
    │       │       │   │   │   ├── 20240206153511_IdentityServerV7.cs
    │       │       │   │   │   ├── 20240206153511_IdentityServerV7.Designer.cs
    │       │       │   │   │   └── IdentityServerPersistedGrantDbContextModelSnapshot.cs
    │       │       │   │   └── Logging
    │       │       │   │       ├── 20191120085635_DbInit.cs
    │       │       │   │       ├── 20191120085635_DbInit.Designer.cs
    │       │       │   │       └── AdminLogDbContextModelSnapshot.cs
    │       │       │   └── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.MySql.csproj
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.PostgreSQL
    │       │       │   ├── Helpers
    │       │       │   │   └── MigrationAssembly.cs
    │       │       │   ├── Migrations
    │       │       │   │   ├── AuditLogging
    │       │       │   │   │   ├── 20191120100220_DbInit.cs
    │       │       │   │   │   ├── 20191120100220_DbInit.Designer.cs
    │       │       │   │   │   ├── 20200419130247_ChangeAuditLogToLong.cs
    │       │       │   │   │   ├── 20200419130247_ChangeAuditLogToLong.Designer.cs
    │       │       │   │   │   └── AdminAuditLogDbContextModelSnapshot.cs
    │       │       │   │   ├── DataProtection
    │       │       │   │   │   ├── 20200419131536_AddDataProtection.cs
    │       │       │   │   │   ├── 20200419131536_AddDataProtection.Designer.cs
    │       │       │   │   │   └── IdentityServerDataProtectionDbContextModelSnapshot.cs
    │       │       │   │   ├── Identity
    │       │       │   │   │   ├── 20191120100035_DbInit.cs
    │       │       │   │   │   ├── 20191120100035_DbInit.Designer.cs
    │       │       │   │   │   └── AdminIdentityDbContextModelSnapshot.cs
    │       │       │   │   ├── IdentityServerConfiguration
    │       │       │   │   │   ├── 20191120100129_DbInit.cs
    │       │       │   │   │   ├── 20191120100129_DbInit.Designer.cs
    │       │       │   │   │   ├── 20201108170812_UpdateIdentityServerToVersion4.cs
    │       │       │   │   │   ├── 20201108170812_UpdateIdentityServerToVersion4.Designer.cs
    │       │       │   │   │   ├── 20210310153645_AddRequireResourceIndicator.cs
    │       │       │   │   │   ├── 20210310153645_AddRequireResourceIndicator.Designer.cs
    │       │       │   │   │   ├── 20211211153855_UpdateISKeysIDP.cs
    │       │       │   │   │   ├── 20211211153855_UpdateISKeysIDP.Designer.cs
    │       │       │   │   │   ├── 20220125145446_UpdateToIS6.cs
    │       │       │   │   │   ├── 20220125145446_UpdateToIS6.Designer.cs
    │       │       │   │   │   ├── 20230119113211_UpdateToIS61.cs
    │       │       │   │   │   ├── 20230119113211_UpdateToIS61.Designer.cs
    │       │       │   │   │   ├── 20240206155420_IdentityServerV7.cs
    │       │       │   │   │   ├── 20240206155420_IdentityServerV7.Designer.cs
    │       │       │   │   │   └── IdentityServerConfigurationDbContextModelSnapshot.cs
    │       │       │   │   ├── IdentityServerGrants
    │       │       │   │   │   ├── 20191120100155_DbInit.cs
    │       │       │   │   │   ├── 20191120100155_DbInit.Designer.cs
    │       │       │   │   │   ├── 20201108165927_UpdateIdentityServerToVersion4.cs
    │       │       │   │   │   ├── 20201108165927_UpdateIdentityServerToVersion4.Designer.cs
    │       │       │   │   │   ├── 20211211153835_UpdateISKeysIDP.cs
    │       │       │   │   │   ├── 20211211153835_UpdateISKeysIDP.Designer.cs
    │       │       │   │   │   ├── 20230119113152_UpdateToIS61.cs
    │       │       │   │   │   ├── 20230119113152_UpdateToIS61.Designer.cs
    │       │       │   │   │   ├── 20240206155424_IdentityServerV7.cs
    │       │       │   │   │   ├── 20240206155424_IdentityServerV7.Designer.cs
    │       │       │   │   │   └── IdentityServerPersistedGrantDbContextModelSnapshot.cs
    │       │       │   │   └── Logging
    │       │       │   │       ├── 20191120100104_DbInit.cs
    │       │       │   │       ├── 20191120100104_DbInit.Designer.cs
    │       │       │   │       └── AdminLogDbContextModelSnapshot.cs
    │       │       │   └── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.PostgreSQL.csproj
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.Shared
    │       │       │   ├── Constants
    │       │       │   │   └── TableConsts.cs
    │       │       │   ├── DbContexts
    │       │       │   │   ├── AdminAuditLogDbContext.cs
    │       │       │   │   ├── AdminIdentityDbContext.cs
    │       │       │   │   ├── AdminLogDbContext.cs
    │       │       │   │   ├── IdentityServerConfigurationDbContext.cs
    │       │       │   │   ├── IdentityServerDataProtectionDbContext.cs
    │       │       │   │   └── IdentityServerPersistedGrantDbContext.cs
    │       │       │   ├── Entities
    │       │       │   │   └── Identity
    │       │       │   │       ├── UserIdentityClaim.cs
    │       │       │   │       ├── UserIdentity.cs
    │       │       │   │       ├── UserIdentityRoleClaim.cs
    │       │       │   │       ├── UserIdentityRole.cs
    │       │       │   │       ├── UserIdentityUserLogin.cs
    │       │       │   │       ├── UserIdentityUserRole.cs
    │       │       │   │       └── UserIdentityUserToken.cs
    │       │       │   ├── Helpers
    │       │       │   │   └── DbMigrationHelpers.cs
    │       │       │   └── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.Shared.csproj
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.SqlServer
    │       │       │   ├── Helpers
    │       │       │   │   └── MigrationAssembly.cs
    │       │       │   ├── Migrations
    │       │       │   │   ├── AuditLogging
    │       │       │   │   │   ├── 20191119164022_DbInit.cs
    │       │       │   │   │   ├── 20191119164022_DbInit.Designer.cs
    │       │       │   │   │   ├── 20200419130339_ChangeAuditLogToLong.cs
    │       │       │   │   │   ├── 20200419130339_ChangeAuditLogToLong.Designer.cs
    │       │       │   │   │   └── AdminAuditLogDbContextModelSnapshot.cs
    │       │       │   │   ├── DataProtection
    │       │       │   │   │   ├── 20200221180348_DbInit.cs
    │       │       │   │   │   ├── 20200221180348_DbInit.Designer.cs
    │       │       │   │   │   └── IdentityServerDataProtectionDbContextModelSnapshot.cs
    │       │       │   │   ├── Identity
    │       │       │   │   │   ├── 20191119163918_DbInit.cs
    │       │       │   │   │   ├── 20191119163918_DbInit.Designer.cs
    │       │       │   │   │   └── AdminIdentityDbContextModelSnapshot.cs
    │       │       │   │   ├── IdentityServerConfiguration
    │       │       │   │   │   ├── 20191119163952_DbInit.cs
    │       │       │   │   │   ├── 20191119163952_DbInit.Designer.cs
    │       │       │   │   │   ├── 20201030101938_UpdateIdentityServerToVersion4.cs
    │       │       │   │   │   ├── 20201030101938_UpdateIdentityServerToVersion4.Designer.cs
    │       │       │   │   │   ├── 20210310151745_AddRequireResourceIndicator.cs
    │       │       │   │   │   ├── 20210310151745_AddRequireResourceIndicator.Designer.cs
    │       │       │   │   │   ├── 20211111141154_AddIdentityServerProviders.cs
    │       │       │   │   │   ├── 20211111141154_AddIdentityServerProviders.Designer.cs
    │       │       │   │   │   ├── 20220116154116_UpdateToIS6.cs
    │       │       │   │   │   ├── 20220116154116_UpdateToIS6.Designer.cs
    │       │       │   │   │   ├── 20221115182001_UpdateToIS61.cs
    │       │       │   │   │   ├── 20221115182001_UpdateToIS61.Designer.cs
    │       │       │   │   │   ├── 20240206133328_IdentityServerV7.cs
    │       │       │   │   │   ├── 20240206133328_IdentityServerV7.Designer.cs
    │       │       │   │   │   └── IdentityServerConfigurationDbContextModelSnapshot.cs
    │       │       │   │   ├── IdentityServerGrants
    │       │       │   │   │   ├── 20191119164007_DbInit.cs
    │       │       │   │   │   ├── 20191119164007_DbInit.Designer.cs
    │       │       │   │   │   ├── 20201030101834_UpdateIdentityServerToVersion4.cs
    │       │       │   │   │   ├── 20201030101834_UpdateIdentityServerToVersion4.Designer.cs
    │       │       │   │   │   ├── 20211111131819_AddIdentityServerKeys.cs
    │       │       │   │   │   ├── 20211111131819_AddIdentityServerKeys.Designer.cs
    │       │       │   │   │   ├── 20221115181936_UpdateToIS61.cs
    │       │       │   │   │   ├── 20221115181936_UpdateToIS61.Designer.cs
    │       │       │   │   │   ├── 20240206133332_IdentityServerV7.cs
    │       │       │   │   │   ├── 20240206133332_IdentityServerV7.Designer.cs
    │       │       │   │   │   └── IdentityServerPersistedGrantDbContextModelSnapshot.cs
    │       │       │   │   └── Logging
    │       │       │   │       ├── 20191119163936_DbInit.cs
    │       │       │   │       ├── 20191119163936_DbInit.Designer.cs
    │       │       │   │       └── AdminLogDbContextModelSnapshot.cs
    │       │       │   └── SkorubaDuende.IdentityServerAdmin.Admin.EntityFramework.SqlServer.csproj
    │       │       ├── SkorubaDuende.IdentityServerAdmin.Shared
    │       │       │   ├── Dtos
    │       │       │   │   ├── Identity
    │       │       │   │   │   ├── IdentityRoleClaimDto.cs
    │       │       │   │   │   ├── IdentityRoleClaimsDto.cs
    │       │       │   │   │   ├── IdentityRoleDto.cs
    │       │       │   │   │   ├── IdentityRolesDto.cs
    │       │       │   │   │   ├── IdentityUserClaimDto.cs
    │       │       │   │   │   ├── IdentityUserClaimsDto.cs
    │       │       │   │   │   ├── IdentityUserDto.cs
    │       │       │   │   │   ├── IdentityUserProviderDto.cs
    │       │       │   │   │   ├── IdentityUserProvidersDto.cs
    │       │       │   │   │   ├── IdentityUserRolesDto.cs
    │       │       │   │   │   └── IdentityUsersDto.cs
    │       │       │   │   └── IdentityUserChangePasswordDto.cs
    │       │       │   └── SkorubaDuende.IdentityServerAdmin.Shared.csproj
    │       │       └── SkorubaDuende.IdentityServerAdmin.STS.Identity
    │       │           ├── appsettings.json
    │       │           ├── Configuration
    │       │           │   ├── AccountOptions.cs
    │       │           │   ├── AdminConfiguration.cs
    │       │           │   ├── ApplicationParts
    │       │           │   │   ├── GenericControllerRouteConvention.cs
    │       │           │   │   └── GenericTypeControllerFeatureProvider.cs
    │       │           │   ├── ConsentOptions.cs
    │       │           │   ├── Constants
    │       │           │   │   ├── AddressClaimConstants.cs
    │       │           │   │   ├── AuthorizationConsts.cs
    │       │           │   │   └── ConfigurationConsts.cs
    │       │           │   ├── CultureConfiguration.cs
    │       │           │   ├── ExternalProvidersConfiguration.cs
    │       │           │   ├── Interfaces
    │       │           │   │   └── IRootConfiguration.cs
    │       │           │   ├── RootConfiguration.cs
    │       │           │   └── Test
    │       │           │       └── StartupTest.cs
    │       │           ├── Controllers
    │       │           │   ├── AccountController.cs
    │       │           │   ├── ConsentController.cs
    │       │           │   ├── DeviceController.cs
    │       │           │   ├── DiagnosticsController.cs
    │       │           │   ├── GrantsController.cs
    │       │           │   ├── HomeController.cs
    │       │           │   └── ManageController.cs
    │       │           ├── Dockerfile
    │       │           ├── gulpfile.js
    │       │           ├── Helpers
    │       │           │   ├── ApplicationSignInManager.cs
    │       │           │   ├── DelegationGrantValidator.cs
    │       │           │   ├── Extensions.cs
    │       │           │   ├── IdentityProvidersHelpers.cs
    │       │           │   ├── IdentityServerBuilderExtensions.cs
    │       │           │   ├── KeyValuePairExtensions.cs
    │       │           │   ├── Localization
    │       │           │   │   ├── GenericServiceLocalizer.cs
    │       │           │   │   ├── IGenericControllerLocalizer.cs
    │       │           │   │   └── LoginPolicyResolutionLocalizer.cs
    │       │           │   ├── Md5HashHelper.cs
    │       │           │   ├── OpenidClaimHelpers.cs
    │       │           │   ├── OpenIDProfile.cs
    │       │           │   ├── SecurityHeadersAttribute.cs
    │       │           │   ├── StartupHelpers.cs
    │       │           │   ├── TagHelpers
    │       │           │   │   ├── GravatarTagHelper.cs
    │       │           │   │   └── SwitchTagHelper.cs
    │       │           │   └── UserResolver.cs
    │       │           ├── package.json
    │       │           ├── package-lock.json
    │       │           ├── Program.cs
    │       │           ├── Properties
    │       │           │   └── launchSettings.json
    │       │           ├── Resources
    │       │           │   ├── Controllers
    │       │           │   │   ├── AccountController.da.resx
    │       │           │   │   ├── AccountController.de.resx
    │       │           │   │   ├── AccountController.en.resx
    │       │           │   │   ├── AccountController.es.resx
    │       │           │   │   ├── AccountController.fa.resx
    │       │           │   │   ├── AccountController.fi.resx
    │       │           │   │   ├── AccountController.fr.resx
    │       │           │   │   ├── AccountController.nl.resx
    │       │           │   │   ├── AccountController.pt.resx
    │       │           │   │   ├── AccountController.ru.resx
    │       │           │   │   ├── AccountController.sv.resx
    │       │           │   │   ├── AccountController.zh.resx
    │       │           │   │   ├── ManageController.da.resx
    │       │           │   │   ├── ManageController.de.resx
    │       │           │   │   ├── ManageController.en.resx
    │       │           │   │   ├── ManageController.es.resx
    │       │           │   │   ├── ManageController.fa.resx
    │       │           │   │   ├── ManageController.fi.resx
    │       │           │   │   ├── ManageController.fr.resx
    │       │           │   │   ├── ManageController.nl.resx
    │       │           │   │   ├── ManageController.pt.resx
    │       │           │   │   ├── ManageController.ru.resx
    │       │           │   │   ├── ManageController.sv.resx
    │       │           │   │   └── ManageController.zh.resx
    │       │           │   └── Views
    │       │           │       ├── Account
    │       │           │       │   ├── ConfirmEmail.da.resx
    │       │           │       │   ├── ConfirmEmail.de.resx
    │       │           │       │   ├── ConfirmEmail.en.resx
    │       │           │       │   ├── ConfirmEmail.es.resx
    │       │           │       │   ├── ConfirmEmail.fa.resx
    │       │           │       │   ├── ConfirmEmail.fi.resx
    │       │           │       │   ├── ConfirmEmail.fr.resx
    │       │           │       │   ├── ConfirmEmail.nl.resx
    │       │           │       │   ├── ConfirmEmail.pt.resx
    │       │           │       │   ├── ConfirmEmail.ru.resx
    │       │           │       │   ├── ConfirmEmail.sv.resx
    │       │           │       │   ├── ConfirmEmail.zh.resx
    │       │           │       │   ├── ExternalLoginConfirmation.da.resx
    │       │           │       │   ├── ExternalLoginConfirmation.de.resx
    │       │           │       │   ├── ExternalLoginConfirmation.en.resx
    │       │           │       │   ├── ExternalLoginConfirmation.es.resx
    │       │           │       │   ├── ExternalLoginConfirmation.fa.resx
    │       │           │       │   ├── ExternalLoginConfirmation.fi.resx
    │       │           │       │   ├── ExternalLoginConfirmation.fr.resx
    │       │           │       │   ├── ExternalLoginConfirmation.nl.resx
    │       │           │       │   ├── ExternalLoginConfirmation.pt.resx
    │       │           │       │   ├── ExternalLoginConfirmation.ru.resx
    │       │           │       │   ├── ExternalLoginConfirmation.sv.resx
    │       │           │       │   ├── ExternalLoginConfirmation.zh.resx
    │       │           │       │   ├── ExternalLoginFailure.da.resx
    │       │           │       │   ├── ExternalLoginFailure.de.resx
    │       │           │       │   ├── ExternalLoginFailure.en.resx
    │       │           │       │   ├── ExternalLoginFailure.es.resx
    │       │           │       │   ├── ExternalLoginFailure.fa.resx
    │       │           │       │   ├── ExternalLoginFailure.fi.resx
    │       │           │       │   ├── ExternalLoginFailure.fr.resx
    │       │           │       │   ├── ExternalLoginFailure.nl.resx
    │       │           │       │   ├── ExternalLoginFailure.pt.resx
    │       │           │       │   ├── ExternalLoginFailure.ru.resx
    │       │           │       │   ├── ExternalLoginFailure.sv.resx
    │       │           │       │   ├── ExternalLoginFailure.zh.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.da.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.de.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.en.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.es.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.fa.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.fi.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.fr.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.nl.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.pt.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.ru.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.sv.resx
    │       │           │       │   ├── ForgotPasswordConfirmation.zh.resx
    │       │           │       │   ├── ForgotPassword.da.resx
    │       │           │       │   ├── ForgotPassword.de.resx
    │       │           │       │   ├── ForgotPassword.en.resx
    │       │           │       │   ├── ForgotPassword.es.resx
    │       │           │       │   ├── ForgotPassword.fa.resx
    │       │           │       │   ├── ForgotPassword.fi.resx
    │       │           │       │   ├── ForgotPassword.fr.resx
    │       │           │       │   ├── ForgotPassword.nl.resx
    │       │           │       │   ├── ForgotPassword.pt.resx
    │       │           │       │   ├── ForgotPassword.ru.resx
    │       │           │       │   ├── ForgotPassword.sv.resx
    │       │           │       │   ├── ForgotPassword.zh.resx
    │       │           │       │   ├── Lockout.da.resx
    │       │           │       │   ├── Lockout.de.resx
    │       │           │       │   ├── Lockout.en.resx
    │       │           │       │   ├── Lockout.es.resx
    │       │           │       │   ├── Lockout.fa.resx
    │       │           │       │   ├── Lockout.fi.resx
    │       │           │       │   ├── Lockout.fr.resx
    │       │           │       │   ├── Lockout.nl.resx
    │       │           │       │   ├── Lockout.pt.resx
    │       │           │       │   ├── Lockout.ru.resx
    │       │           │       │   ├── Lockout.sv.resx
    │       │           │       │   ├── Lockout.zh.resx
    │       │           │       │   ├── LoggedOut.da.resx
    │       │           │       │   ├── LoggedOut.de.resx
    │       │           │       │   ├── LoggedOut.en.resx
    │       │           │       │   ├── LoggedOut.es.resx
    │       │           │       │   ├── LoggedOut.fa.resx
    │       │           │       │   ├── LoggedOut.fi.resx
    │       │           │       │   ├── LoggedOut.fr.resx
    │       │           │       │   ├── LoggedOut.nl.resx
    │       │           │       │   ├── LoggedOut.pt.resx
    │       │           │       │   ├── LoggedOut.ru.resx
    │       │           │       │   ├── LoggedOut.sv.resx
    │       │           │       │   ├── LoggedOut.zh.resx
    │       │           │       │   ├── Login.da.resx
    │       │           │       │   ├── Login.de.resx
    │       │           │       │   ├── Login.en.resx
    │       │           │       │   ├── Login.es.resx
    │       │           │       │   ├── Login.fa.resx
    │       │           │       │   ├── Login.fi.resx
    │       │           │       │   ├── Login.fr.resx
    │       │           │       │   ├── Login.nl.resx
    │       │           │       │   ├── Login.pt.resx
    │       │           │       │   ├── Login.ru.resx
    │       │           │       │   ├── Login.sv.resx
    │       │           │       │   ├── LoginWith2fa.da.resx
    │       │           │       │   ├── LoginWith2fa.de.resx
    │       │           │       │   ├── LoginWith2fa.en.resx
    │       │           │       │   ├── LoginWith2fa.es.resx
    │       │           │       │   ├── LoginWith2fa.fa.resx
    │       │           │       │   ├── LoginWith2fa.fi.resx
    │       │           │       │   ├── LoginWith2fa.fr.resx
    │       │           │       │   ├── LoginWith2fa.nl.resx
    │       │           │       │   ├── LoginWith2fa.pt.resx
    │       │           │       │   ├── LoginWith2fa.ru.resx
    │       │           │       │   ├── LoginWith2fa.sv.resx
    │       │           │       │   ├── LoginWith2fa.zh.resx
    │       │           │       │   ├── LoginWithRecoveryCode.da.resx
    │       │           │       │   ├── LoginWithRecoveryCode.de.resx
    │       │           │       │   ├── LoginWithRecoveryCode.en.resx
    │       │           │       │   ├── LoginWithRecoveryCode.es.resx
    │       │           │       │   ├── LoginWithRecoveryCode.fa.resx
    │       │           │       │   ├── LoginWithRecoveryCode.fi.resx
    │       │           │       │   ├── LoginWithRecoveryCode.fr.resx
    │       │           │       │   ├── LoginWithRecoveryCode.nl.resx
    │       │           │       │   ├── LoginWithRecoveryCode.pt.resx
    │       │           │       │   ├── LoginWithRecoveryCode.ru.resx
    │       │           │       │   ├── LoginWithRecoveryCode.sv.resx
    │       │           │       │   ├── LoginWithRecoveryCode.zh.resx
    │       │           │       │   ├── Login.zh.resx
    │       │           │       │   ├── Logout.da.resx
    │       │           │       │   ├── Logout.de.resx
    │       │           │       │   ├── Logout.en.resx
    │       │           │       │   ├── Logout.es.resx
    │       │           │       │   ├── Logout.fa.resx
    │       │           │       │   ├── Logout.fi.resx
    │       │           │       │   ├── Logout.fr.resx
    │       │           │       │   ├── Logout.nl.resx
    │       │           │       │   ├── Logout.pt.resx
    │       │           │       │   ├── Logout.ru.resx
    │       │           │       │   ├── Logout.sv.resx
    │       │           │       │   ├── Logout.zh.resx
    │       │           │       │   ├── RegisterConfirmation.da.resx
    │       │           │       │   ├── RegisterConfirmation.de.resx
    │       │           │       │   ├── RegisterConfirmation.en.resx
    │       │           │       │   ├── RegisterConfirmation.es.resx
    │       │           │       │   ├── RegisterConfirmation.fa.resx
    │       │           │       │   ├── RegisterConfirmation.fi.resx
    │       │           │       │   ├── RegisterConfirmation.fr.resx
    │       │           │       │   ├── RegisterConfirmation.nl.resx
    │       │           │       │   ├── RegisterConfirmation.pt.resx
    │       │           │       │   ├── RegisterConfirmation.ru.resx
    │       │           │       │   ├── RegisterConfirmation.sv.resx
    │       │           │       │   ├── RegisterConfirmation.zh.resx
    │       │           │       │   ├── Register.da.resx
    │       │           │       │   ├── Register.de.resx
    │       │           │       │   ├── Register.en.resx
    │       │           │       │   ├── Register.es.resx
    │       │           │       │   ├── RegisterFailure.da.resx
    │       │           │       │   ├── RegisterFailure.de.resx
    │       │           │       │   ├── RegisterFailure.es.resx
    │       │           │       │   ├── RegisterFailure.fa.resx
    │       │           │       │   ├── RegisterFailure.fr.resx
    │       │           │       │   ├── RegisterFailure.pt.resx
    │       │           │       │   ├── RegisterFailure.resx
    │       │           │       │   ├── RegisterFailure.sv.resx
    │       │           │       │   ├── RegisterFailure.zh.resx
    │       │           │       │   ├── Register.fa.resx
    │       │           │       │   ├── Register.fi.resx
    │       │           │       │   ├── Register.fr.resx
    │       │           │       │   ├── Register.nl.resx
    │       │           │       │   ├── Register.pt.resx
    │       │           │       │   ├── Register.ru.resx
    │       │           │       │   ├── Register.sv.resx
    │       │           │       │   ├── RegisterWithoutUserName.da.resx
    │       │           │       │   ├── RegisterWithoutUserName.de.resx
    │       │           │       │   ├── RegisterWithoutUserName.en.resx
    │       │           │       │   ├── RegisterWithoutUserName.es.resx
    │       │           │       │   ├── RegisterWithoutUserName.fa.resx
    │       │           │       │   ├── RegisterWithoutUserName.fi.resx
    │       │           │       │   ├── RegisterWithoutUserName.fr.resx
    │       │           │       │   ├── RegisterWithoutUserName.nl.resx
    │       │           │       │   ├── RegisterWithoutUserName.pt.resx
    │       │           │       │   ├── RegisterWithoutUserName.ru.resx
    │       │           │       │   ├── RegisterWithoutUserName.sv.resx
    │       │           │       │   ├── RegisterWithoutUserName.zh.resx
    │       │           │       │   ├── Register.zh.resx
    │       │           │       │   ├── ResetPasswordConfirmation.da.resx
    │       │           │       │   ├── ResetPasswordConfirmation.de.resx
    │       │           │       │   ├── ResetPasswordConfirmation.en.resx
    │       │           │       │   ├── ResetPasswordConfirmation.es.resx
    │       │           │       │   ├── ResetPasswordConfirmation.fa.resx
    │       │           │       │   ├── ResetPasswordConfirmation.fi.resx
    │       │           │       │   ├── ResetPasswordConfirmation.fr.resx
    │       │           │       │   ├── ResetPasswordConfirmation.nl.resx
    │       │           │       │   ├── ResetPasswordConfirmation.pt.resx
    │       │           │       │   ├── ResetPasswordConfirmation.ru.resx
    │       │           │       │   ├── ResetPasswordConfirmation.sv.resx
    │       │           │       │   ├── ResetPasswordConfirmation.zh.resx
    │       │           │       │   ├── ResetPassword.da.resx
    │       │           │       │   ├── ResetPassword.de.resx
    │       │           │       │   ├── ResetPassword.en.resx
    │       │           │       │   ├── ResetPassword.es.resx
    │       │           │       │   ├── ResetPassword.fa.resx
    │       │           │       │   ├── ResetPassword.fi.resx
    │       │           │       │   ├── ResetPassword.fr.resx
    │       │           │       │   ├── ResetPassword.nl.resx
    │       │           │       │   ├── ResetPassword.pt.resx
    │       │           │       │   ├── ResetPassword.ru.resx
    │       │           │       │   ├── ResetPassword.sv.resx
    │       │           │       │   └── ResetPassword.zh.resx
    │       │           │       ├── Consent
    │       │           │       │   ├── Index.da.resx
    │       │           │       │   ├── Index.de.resx
    │       │           │       │   ├── Index.en.resx
    │       │           │       │   ├── Index.es.resx
    │       │           │       │   ├── Index.fa.resx
    │       │           │       │   ├── Index.fi.resx
    │       │           │       │   ├── Index.fr.resx
    │       │           │       │   ├── Index.nl.resx
    │       │           │       │   ├── Index.pt.resx
    │       │           │       │   ├── Index.ru.resx
    │       │           │       │   ├── Index.sv.resx
    │       │           │       │   └── Index.zh.resx
    │       │           │       ├── Device
    │       │           │       │   ├── Success.da.resx
    │       │           │       │   ├── Success.de.resx
    │       │           │       │   ├── Success.en.resx
    │       │           │       │   ├── Success.es.resx
    │       │           │       │   ├── Success.fa.resx
    │       │           │       │   ├── Success.fi.resx
    │       │           │       │   ├── Success.fr.resx
    │       │           │       │   ├── Success.nl.resx
    │       │           │       │   ├── Success.pt.resx
    │       │           │       │   ├── Success.ru.resx
    │       │           │       │   ├── Success.sv.resx
    │       │           │       │   ├── Success.zh.resx
    │       │           │       │   ├── UserCodeCapture.da.resx
    │       │           │       │   ├── UserCodeCapture.de.resx
    │       │           │       │   ├── UserCodeCapture.en.resx
    │       │           │       │   ├── UserCodeCapture.es.resx
    │       │           │       │   ├── UserCodeCapture.fa.resx
    │       │           │       │   ├── UserCodeCapture.fi.resx
    │       │           │       │   ├── UserCodeCapture.fr.resx
    │       │           │       │   ├── UserCodeCapture.nl.resx
    │       │           │       │   ├── UserCodeCapture.pt.resx
    │       │           │       │   ├── UserCodeCapture.ru.resx
    │       │           │       │   ├── UserCodeCapture.sv.resx
    │       │           │       │   ├── UserCodeCapture.zh.resx
    │       │           │       │   ├── UserCodeConfirmation.da.resx
    │       │           │       │   ├── UserCodeConfirmation.de.resx
    │       │           │       │   ├── UserCodeConfirmation.en.resx
    │       │           │       │   ├── UserCodeConfirmation.es.resx
    │       │           │       │   ├── UserCodeConfirmation.fa.resx
    │       │           │       │   ├── UserCodeConfirmation.fi.resx
    │       │           │       │   ├── UserCodeConfirmation.fr.resx
    │       │           │       │   ├── UserCodeConfirmation.nl.resx
    │       │           │       │   ├── UserCodeConfirmation.pt.resx
    │       │           │       │   ├── UserCodeConfirmation.ru.resx
    │       │           │       │   ├── UserCodeConfirmation.sv.resx
    │       │           │       │   └── UserCodeConfirmation.zh.resx
    │       │           │       ├── Diagnostics
    │       │           │       │   ├── Index.da.resx
    │       │           │       │   ├── Index.de.resx
    │       │           │       │   ├── Index.en.resx
    │       │           │       │   ├── Index.es.resx
    │       │           │       │   ├── Index.fa.resx
    │       │           │       │   ├── Index.fi.resx
    │       │           │       │   ├── Index.fr.resx
    │       │           │       │   ├── Index.nl.resx
    │       │           │       │   ├── Index.pt.resx
    │       │           │       │   ├── Index.ru.resx
    │       │           │       │   ├── Index.sv.resx
    │       │           │       │   └── Index.zh.resx
    │       │           │       ├── Grants
    │       │           │       │   ├── Index.da.resx
    │       │           │       │   ├── Index.de.resx
    │       │           │       │   ├── Index.en.resx
    │       │           │       │   ├── Index.es.resx
    │       │           │       │   ├── Index.fa.resx
    │       │           │       │   ├── Index.fi.resx
    │       │           │       │   ├── Index.fr.resx
    │       │           │       │   ├── Index.nl.resx
    │       │           │       │   ├── Index.pt.resx
    │       │           │       │   ├── Index.ru.resx
    │       │           │       │   ├── Index.sv.resx
    │       │           │       │   └── Index.zh.resx
    │       │           │       ├── Home
    │       │           │       │   ├── Index.da.resx
    │       │           │       │   ├── Index.de.resx
    │       │           │       │   ├── Index.en.resx
    │       │           │       │   ├── Index.es.resx
    │       │           │       │   ├── Index.fa.resx
    │       │           │       │   ├── Index.fi.resx
    │       │           │       │   ├── Index.fr.resx
    │       │           │       │   ├── Index.nl.resx
    │       │           │       │   ├── Index.pt.resx
    │       │           │       │   ├── Index.ru.resx
    │       │           │       │   ├── Index.sv.resx
    │       │           │       │   └── Index.zh.resx
    │       │           │       ├── Manage
    │       │           │       │   ├── ChangePassword.da.resx
    │       │           │       │   ├── ChangePassword.de.resx
    │       │           │       │   ├── ChangePassword.en.resx
    │       │           │       │   ├── ChangePassword.es.resx
    │       │           │       │   ├── ChangePassword.fa.resx
    │       │           │       │   ├── ChangePassword.fi.resx
    │       │           │       │   ├── ChangePassword.fr.resx
    │       │           │       │   ├── ChangePassword.nl.resx
    │       │           │       │   ├── ChangePassword.pt.resx
    │       │           │       │   ├── ChangePassword.ru.resx
    │       │           │       │   ├── ChangePassword.sv.resx
    │       │           │       │   ├── ChangePassword.zh.resx
    │       │           │       │   ├── DeletePersonalData.da.resx
    │       │           │       │   ├── DeletePersonalData.de.resx
    │       │           │       │   ├── DeletePersonalData.en.resx
    │       │           │       │   ├── DeletePersonalData.es.resx
    │       │           │       │   ├── DeletePersonalData.fa.resx
    │       │           │       │   ├── DeletePersonalData.fi.resx
    │       │           │       │   ├── DeletePersonalData.fr.resx
    │       │           │       │   ├── DeletePersonalData.nl.resx
    │       │           │       │   ├── DeletePersonalData.pt.resx
    │       │           │       │   ├── DeletePersonalData.ru.resx
    │       │           │       │   ├── DeletePersonalData.sv.resx
    │       │           │       │   ├── DeletePersonalData.zh.resx
    │       │           │       │   ├── Disable2fa.da.resx
    │       │           │       │   ├── Disable2fa.de.resx
    │       │           │       │   ├── Disable2fa.en.resx
    │       │           │       │   ├── Disable2fa.es.resx
    │       │           │       │   ├── Disable2fa.fa.resx
    │       │           │       │   ├── Disable2fa.fi.resx
    │       │           │       │   ├── Disable2fa.fr.resx
    │       │           │       │   ├── Disable2fa.nl.resx
    │       │           │       │   ├── Disable2fa.pt.resx
    │       │           │       │   ├── Disable2fa.ru.resx
    │       │           │       │   ├── Disable2fa.sv.resx
    │       │           │       │   ├── Disable2fa.zh.resx
    │       │           │       │   ├── DownloadPersonalData.da.resx
    │       │           │       │   ├── DownloadPersonalData.de.resx
    │       │           │       │   ├── DownloadPersonalData.en.resx
    │       │           │       │   ├── DownloadPersonalData.es.resx
    │       │           │       │   ├── DownloadPersonalData.fa.resx
    │       │           │       │   ├── DownloadPersonalData.fi.resx
    │       │           │       │   ├── DownloadPersonalData.fr.resx
    │       │           │       │   ├── DownloadPersonalData.nl.resx
    │       │           │       │   ├── DownloadPersonalData.pt.resx
    │       │           │       │   ├── DownloadPersonalData.ru.resx
    │       │           │       │   ├── DownloadPersonalData.sv.resx
    │       │           │       │   ├── DownloadPersonalData.zh.resx
    │       │           │       │   ├── EnableAuthenticator.da.resx
    │       │           │       │   ├── EnableAuthenticator.de.resx
    │       │           │       │   ├── EnableAuthenticator.en.resx
    │       │           │       │   ├── EnableAuthenticator.es.resx
    │       │           │       │   ├── EnableAuthenticator.fa.resx
    │       │           │       │   ├── EnableAuthenticator.fi.resx
    │       │           │       │   ├── EnableAuthenticator.fr.resx
    │       │           │       │   ├── EnableAuthenticator.nl.resx
    │       │           │       │   ├── EnableAuthenticator.pt.resx
    │       │           │       │   ├── EnableAuthenticator.ru.resx
    │       │           │       │   ├── EnableAuthenticator.sv.resx
    │       │           │       │   ├── EnableAuthenticator.zh.resx
    │       │           │       │   ├── ExternalLogins.da.resx
    │       │           │       │   ├── ExternalLogins.de.resx
    │       │           │       │   ├── ExternalLogins.en.resx
    │       │           │       │   ├── ExternalLogins.es.resx
    │       │           │       │   ├── ExternalLogins.fa.resx
    │       │           │       │   ├── ExternalLogins.fi.resx
    │       │           │       │   ├── ExternalLogins.fr.resx
    │       │           │       │   ├── ExternalLogins.nl.resx
    │       │           │       │   ├── ExternalLogins.pt.resx
    │       │           │       │   ├── ExternalLogins.ru.resx
    │       │           │       │   ├── ExternalLogins.sv.resx
    │       │           │       │   ├── ExternalLogins.zh.resx
    │       │           │       │   ├── GenerateRecoveryCodes.da.resx
    │       │           │       │   ├── GenerateRecoveryCodes.de.resx
    │       │           │       │   ├── GenerateRecoveryCodes.en.resx
    │       │           │       │   ├── GenerateRecoveryCodes.es.resx
    │       │           │       │   ├── GenerateRecoveryCodes.fa.resx
    │       │           │       │   ├── GenerateRecoveryCodes.fi.resx
    │       │           │       │   ├── GenerateRecoveryCodes.fr.resx
    │       │           │       │   ├── GenerateRecoveryCodes.nl.resx
    │       │           │       │   ├── GenerateRecoveryCodes.pt.resx
    │       │           │       │   ├── GenerateRecoveryCodes.ru.resx
    │       │           │       │   ├── GenerateRecoveryCodes.sv.resx
    │       │           │       │   ├── GenerateRecoveryCodes.zh.resx
    │       │           │       │   ├── Index.da.resx
    │       │           │       │   ├── Index.de.resx
    │       │           │       │   ├── Index.en.resx
    │       │           │       │   ├── Index.es.resx
    │       │           │       │   ├── Index.fa.resx
    │       │           │       │   ├── Index.fi.resx
    │       │           │       │   ├── Index.fr.resx
    │       │           │       │   ├── Index.nl.resx
    │       │           │       │   ├── Index.pt.resx
    │       │           │       │   ├── Index.ru.resx
    │       │           │       │   ├── Index.sv.resx
    │       │           │       │   ├── Index.zh.resx
    │       │           │       │   ├── LinkLoginFailure.da.resx
    │       │           │       │   ├── LinkLoginFailure.de.resx
    │       │           │       │   ├── LinkLoginFailure.en.resx
    │       │           │       │   ├── LinkLoginFailure.es.resx
    │       │           │       │   ├── LinkLoginFailure.fa.resx
    │       │           │       │   ├── LinkLoginFailure.fi.resx
    │       │           │       │   ├── LinkLoginFailure.fr.resx
    │       │           │       │   ├── LinkLoginFailure.nl.resx
    │       │           │       │   ├── LinkLoginFailure.pt.resx
    │       │           │       │   ├── LinkLoginFailure.ru.resx
    │       │           │       │   ├── LinkLoginFailure.sv.resx
    │       │           │       │   ├── LinkLoginFailure.zh.resx
    │       │           │       │   ├── PersonalData.da.resx
    │       │           │       │   ├── PersonalData.de.resx
    │       │           │       │   ├── PersonalData.en.resx
    │       │           │       │   ├── PersonalData.es.resx
    │       │           │       │   ├── PersonalData.fa.resx
    │       │           │       │   ├── PersonalData.fi.resx
    │       │           │       │   ├── PersonalData.fr.resx
    │       │           │       │   ├── PersonalData.nl.resx
    │       │           │       │   ├── PersonalData.pt.resx
    │       │           │       │   ├── PersonalData.ru.resx
    │       │           │       │   ├── PersonalData.sv.resx
    │       │           │       │   ├── PersonalData.zh.resx
    │       │           │       │   ├── ResetAuthenticator.da.resx
    │       │           │       │   ├── ResetAuthenticator.de.resx
    │       │           │       │   ├── ResetAuthenticator.en.resx
    │       │           │       │   ├── ResetAuthenticator.es.resx
    │       │           │       │   ├── ResetAuthenticator.fa.resx
    │       │           │       │   ├── ResetAuthenticator.fi.resx
    │       │           │       │   ├── ResetAuthenticator.fr.resx
    │       │           │       │   ├── ResetAuthenticator.nl.resx
    │       │           │       │   ├── ResetAuthenticator.pt.resx
    │       │           │       │   ├── ResetAuthenticator.ru.resx
    │       │           │       │   ├── ResetAuthenticator.sv.resx
    │       │           │       │   ├── ResetAuthenticator.zh.resx
    │       │           │       │   ├── SetPassword.da.resx
    │       │           │       │   ├── SetPassword.de.resx
    │       │           │       │   ├── SetPassword.en.resx
    │       │           │       │   ├── SetPassword.es.resx
    │       │           │       │   ├── SetPassword.fa.resx
    │       │           │       │   ├── SetPassword.fi.resx
    │       │           │       │   ├── SetPassword.fr.resx
    │       │           │       │   ├── SetPassword.nl.resx
    │       │           │       │   ├── SetPassword.pt.resx
    │       │           │       │   ├── SetPassword.ru.resx
    │       │           │       │   ├── SetPassword.sv.resx
    │       │           │       │   ├── SetPassword.zh.resx
    │       │           │       │   ├── ShowRecoveryCodes.da.resx
    │       │           │       │   ├── ShowRecoveryCodes.de.resx
    │       │           │       │   ├── ShowRecoveryCodes.en.resx
    │       │           │       │   ├── ShowRecoveryCodes.es.resx
    │       │           │       │   ├── ShowRecoveryCodes.fa.resx
    │       │           │       │   ├── ShowRecoveryCodes.fi.resx
    │       │           │       │   ├── ShowRecoveryCodes.fr.resx
    │       │           │       │   ├── ShowRecoveryCodes.nl.resx
    │       │           │       │   ├── ShowRecoveryCodes.pt.resx
    │       │           │       │   ├── ShowRecoveryCodes.ru.resx
    │       │           │       │   ├── ShowRecoveryCodes.sv.resx
    │       │           │       │   ├── ShowRecoveryCodes.zh.resx
    │       │           │       │   ├── TwoFactorAuthentication.da.resx
    │       │           │       │   ├── TwoFactorAuthentication.de.resx
    │       │           │       │   ├── TwoFactorAuthentication.en.resx
    │       │           │       │   ├── TwoFactorAuthentication.es.resx
    │       │           │       │   ├── TwoFactorAuthentication.fa.resx
    │       │           │       │   ├── TwoFactorAuthentication.fi.resx
    │       │           │       │   ├── TwoFactorAuthentication.fr.resx
    │       │           │       │   ├── TwoFactorAuthentication.nl.resx
    │       │           │       │   ├── TwoFactorAuthentication.pt.resx
    │       │           │       │   ├── TwoFactorAuthentication.ru.resx
    │       │           │       │   ├── TwoFactorAuthentication.sv.resx
    │       │           │       │   └── TwoFactorAuthentication.zh.resx
    │       │           │       └── Shared
    │       │           │           ├── Common
    │       │           │           │   ├── SelectLanguage.da.resx
    │       │           │           │   ├── SelectLanguage.de.resx
    │       │           │           │   ├── SelectLanguage.en.resx
    │       │           │           │   ├── SelectLanguage.es.resx
    │       │           │           │   ├── SelectLanguage.fa.resx
    │       │           │           │   ├── SelectLanguage.fi.resx
    │       │           │           │   ├── SelectLanguage.fr.resx
    │       │           │           │   ├── SelectLanguage.nl.resx
    │       │           │           │   ├── SelectLanguage.pt.resx
    │       │           │           │   ├── SelectLanguage.ru.resx
    │       │           │           │   ├── SelectLanguage.sv.resx
    │       │           │           │   └── SelectLanguage.zh.resx
    │       │           │           ├── Components
    │       │           │           │   └── IdentityServerAdminLink
    │       │           │           │       ├── Default.da.resx
    │       │           │           │       ├── Default.de.resx
    │       │           │           │       ├── Default.en.resx
    │       │           │           │       ├── Default.es.resx
    │       │           │           │       ├── Default.fa.resx
    │       │           │           │       ├── Default.fi.resx
    │       │           │           │       ├── Default.fr.resx
    │       │           │           │       ├── Default.nl.resx
    │       │           │           │       ├── Default.pt.resx
    │       │           │           │       ├── Default.ru.resx
    │       │           │           │       ├── Default.sv.resx
    │       │           │           │       └── Default.zh.resx
    │       │           │           ├── Error.da.resx
    │       │           │           ├── Error.de.resx
    │       │           │           ├── Error.en.resx
    │       │           │           ├── Error.es.resx
    │       │           │           ├── Error.fa.resx
    │       │           │           ├── Error.fi.resx
    │       │           │           ├── Error.fr.resx
    │       │           │           ├── Error.nl.resx
    │       │           │           ├── Error.pt.resx
    │       │           │           ├── Error.ru.resx
    │       │           │           ├── Error.sv.resx
    │       │           │           ├── Error.zh.resx
    │       │           │           ├── _Layout.da.resx
    │       │           │           ├── _Layout.de.resx
    │       │           │           ├── _Layout.en.resx
    │       │           │           ├── _Layout.es.resx
    │       │           │           ├── _Layout.fa.resx
    │       │           │           ├── _Layout.fi.resx
    │       │           │           ├── _Layout.fr.resx
    │       │           │           ├── _Layout.nl.resx
    │       │           │           ├── _Layout.pt.resx
    │       │           │           ├── _Layout.ru.resx
    │       │           │           ├── _Layout.sv.resx
    │       │           │           ├── _Layout.zh.resx
    │       │           │           ├── Redirect.da.resx
    │       │           │           ├── Redirect.de.resx
    │       │           │           ├── Redirect.en.resx
    │       │           │           ├── Redirect.es.resx
    │       │           │           ├── Redirect.fa.resx
    │       │           │           ├── Redirect.fi.resx
    │       │           │           ├── Redirect.fr.resx
    │       │           │           ├── Redirect.nl.resx
    │       │           │           ├── Redirect.pt.resx
    │       │           │           ├── Redirect.ru.resx
    │       │           │           ├── Redirect.sv.resx
    │       │           │           ├── Redirect.zh.resx
    │       │           │           ├── _ScopeListItem.da.resx
    │       │           │           ├── _ScopeListItem.de.resx
    │       │           │           ├── _ScopeListItem.en.resx
    │       │           │           ├── _ScopeListItem.es.resx
    │       │           │           ├── _ScopeListItem.fa.resx
    │       │           │           ├── _ScopeListItem.fi.resx
    │       │           │           ├── _ScopeListItem.fr.resx
    │       │           │           ├── _ScopeListItem.nl.resx
    │       │           │           ├── _ScopeListItem.pt.resx
    │       │           │           ├── _ScopeListItem.ru.resx
    │       │           │           ├── _ScopeListItem.sv.resx
    │       │           │           ├── _ScopeListItem.zh.resx
    │       │           │           ├── _ValidationSummary.da.resx
    │       │           │           ├── _ValidationSummary.de.resx
    │       │           │           ├── _ValidationSummary.en.resx
    │       │           │           ├── _ValidationSummary.es.resx
    │       │           │           ├── _ValidationSummary.fa.resx
    │       │           │           ├── _ValidationSummary.fi.resx
    │       │           │           ├── _ValidationSummary.fr.resx
    │       │           │           ├── _ValidationSummary.nl.resx
    │       │           │           ├── _ValidationSummary.pt.resx
    │       │           │           ├── _ValidationSummary.ru.resx
    │       │           │           ├── _ValidationSummary.sv.resx
    │       │           │           └── _ValidationSummary.zh.resx
    │       │           ├── Scripts
    │       │           │   └── App
    │       │           │       └── components
    │       │           │           ├── CookieConsent.js
    │       │           │           ├── Language.js
    │       │           │           ├── Menu.js
    │       │           │           └── Theme.js
    │       │           ├── serilog.json
    │       │           ├── Services
    │       │           │   ├── AuditEventSink.cs
    │       │           │   └── OpenIdClaimsMappingConfig.cs
    │       │           ├── SkorubaDuende.IdentityServerAdmin.STS.Identity.csproj
    │       │           ├── Startup.cs
    │       │           ├── Styles
    │       │           │   ├── common
    │       │           │   │   ├── _all.scss
    │       │           │   │   ├── common.scss
    │       │           │   │   ├── fonts.scss
    │       │           │   │   ├── form.scss
    │       │           │   │   ├── margin.css
    │       │           │   │   ├── margin.min.css
    │       │           │   │   ├── margin.scss
    │       │           │   │   ├── padding.css
    │       │           │   │   ├── padding.min.css
    │       │           │   │   └── padding.scss
    │       │           │   ├── controls
    │       │           │   │   ├── _all.scss
    │       │           │   │   ├── checkbox.scss
    │       │           │   │   ├── cookieconsent.scss
    │       │           │   │   ├── navbar.scss
    │       │           │   │   ├── QRCode.scss
    │       │           │   │   ├── radio.scss
    │       │           │   │   ├── validation.summary.css
    │       │           │   │   ├── validation.summary.min.css
    │       │           │   │   └── validation.summary.scss
    │       │           │   ├── pages
    │       │           │   │   ├── _all.scss
    │       │           │   │   ├── consent.scss
    │       │           │   │   ├── grants.scss
    │       │           │   │   └── logout.scss
    │       │           │   ├── web.css
    │       │           │   ├── web.min.css
    │       │           │   └── web.scss
    │       │           ├── tempkey.jwk
    │       │           ├── ViewComponents
    │       │           │   └── IdentityServerAdminLinkViewComponent.cs
    │       │           ├── ViewModels
    │       │           │   ├── Account
    │       │           │   │   ├── ExternalLoginConfirmationViewModel.cs
    │       │           │   │   ├── ExternalProvider.cs
    │       │           │   │   ├── ForgotPasswordViewModel.cs
    │       │           │   │   ├── LoggedOutViewModel.cs
    │       │           │   │   ├── LoginInputModel.cs
    │       │           │   │   ├── LoginViewModel.cs
    │       │           │   │   ├── LoginWith2faViewModel.cs
    │       │           │   │   ├── LoginWithRecoveryCodeViewModel.cs
    │       │           │   │   ├── LogoutInputModel.cs
    │       │           │   │   ├── LogoutViewModel.cs
    │       │           │   │   ├── RedirectViewModel.cs
    │       │           │   │   ├── RegisterConfirmationViewModel.cs
    │       │           │   │   ├── RegisterViewModel.cs
    │       │           │   │   ├── RegisterWithoutUsernameViewModel.cs
    │       │           │   │   └── ResetPasswordViewModel.cs
    │       │           │   ├── Consent
    │       │           │   │   ├── ConsentInputModel.cs
    │       │           │   │   ├── ConsentViewModel.cs
    │       │           │   │   ├── ProcessConsentResult.cs
    │       │           │   │   └── ScopeViewModel.cs
    │       │           │   ├── Device
    │       │           │   │   ├── DeviceAuthorizationInputModel.cs
    │       │           │   │   └── DeviceAuthorizationViewModel.cs
    │       │           │   ├── Diagnostics
    │       │           │   │   └── DiagnosticsViewModel.cs
    │       │           │   ├── Grants
    │       │           │   │   └── GrantsViewModel.cs
    │       │           │   ├── Home
    │       │           │   │   └── ErrorViewModel.cs
    │       │           │   └── Manage
    │       │           │       ├── ChangePasswordViewModel.cs
    │       │           │       ├── DeletePersonalDataViewModel.cs
    │       │           │       ├── EnableAuthenticatorViewModel.cs
    │       │           │       ├── ExternalLoginsViewModel.cs
    │       │           │       ├── IndexViewModel.cs
    │       │           │       ├── RemoveLoginViewModel.cs
    │       │           │       ├── SetPasswordViewModel.cs
    │       │           │       ├── ShowRecoveryCodesViewModel.cs
    │       │           │       └── TwoFactorAuthenticationViewModel.cs
    │       │           ├── Views
    │       │           │   ├── Account
    │       │           │   │   ├── ConfirmEmail.cshtml
    │       │           │   │   ├── ExternalLoginConfirmation.cshtml
    │       │           │   │   ├── ExternalLoginFailure.cshtml
    │       │           │   │   ├── ForgotPasswordConfirmation.cshtml
    │       │           │   │   ├── ForgotPassword.cshtml
    │       │           │   │   ├── Lockout.cshtml
    │       │           │   │   ├── LoggedOut.cshtml
    │       │           │   │   ├── Login.cshtml
    │       │           │   │   ├── LoginWith2fa.cshtml
    │       │           │   │   ├── LoginWithRecoveryCode.cshtml
    │       │           │   │   ├── Logout.cshtml
    │       │           │   │   ├── RegisterConfirmation.cshtml
    │       │           │   │   ├── Register.cshtml
    │       │           │   │   ├── RegisterFailure.cshtml
    │       │           │   │   ├── RegisterWithoutUsername.cshtml
    │       │           │   │   ├── ResetPasswordConfirmation.cshtml
    │       │           │   │   └── ResetPassword.cshtml
    │       │           │   ├── Consent
    │       │           │   │   └── Index.cshtml
    │       │           │   ├── Device
    │       │           │   │   ├── Success.cshtml
    │       │           │   │   ├── UserCodeCapture.cshtml
    │       │           │   │   └── UserCodeConfirmation.cshtml
    │       │           │   ├── Diagnostics
    │       │           │   │   └── Index.cshtml
    │       │           │   ├── Grants
    │       │           │   │   └── Index.cshtml
    │       │           │   ├── Home
    │       │           │   │   └── Index.cshtml
    │       │           │   ├── Manage
    │       │           │   │   ├── ChangePassword.cshtml
    │       │           │   │   ├── DeletePersonalData.cshtml
    │       │           │   │   ├── Disable2fa.cshtml
    │       │           │   │   ├── DownloadPersonalData.cshtml
    │       │           │   │   ├── EnableAuthenticator.cshtml
    │       │           │   │   ├── ExternalLogins.cshtml
    │       │           │   │   ├── GenerateRecoveryCodes.cshtml
    │       │           │   │   ├── Index.cshtml
    │       │           │   │   ├── LinkLoginFailure.cshtml
    │       │           │   │   ├── PersonalData.cshtml
    │       │           │   │   ├── ResetAuthenticator.cshtml
    │       │           │   │   ├── SetPassword.cshtml
    │       │           │   │   ├── ShowRecoveryCodes.cshtml
    │       │           │   │   ├── _StatusMessage.cshtml
    │       │           │   │   └── TwoFactorAuthentication.cshtml
    │       │           │   ├── Shared
    │       │           │   │   ├── Common
    │       │           │   │   │   ├── ApplicationVersion.cshtml
    │       │           │   │   │   ├── SelectLanguage.cshtml
    │       │           │   │   │   ├── SelectTheme.cshtml
    │       │           │   │   │   └── ThemeResources.cshtml
    │       │           │   │   ├── Components
    │       │           │   │   │   └── IdentityServerAdminLink
    │       │           │   │   │       └── Default.cshtml
    │       │           │   │   ├── Error.cshtml
    │       │           │   │   ├── _Layout.cshtml
    │       │           │   │   ├── Redirect.cshtml
    │       │           │   │   ├── _ScopeListItem.cshtml
    │       │           │   │   └── _ValidationSummary.cshtml
    │       │           │   ├── _ViewImports.cshtml
    │       │           │   └── _ViewStart.cshtml
    │       │           └── wwwroot
    │       │               ├── dist
    │       │               │   ├── css
    │       │               │   │   ├── bundle.min.css
    │       │               │   │   ├── themes
    │       │               │   │   │   ├── cerulean
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── cosmo
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── cyborg
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── darkly
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── flatly
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── journal
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── litera
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── lumen
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── lux
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── materia
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── minty
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── pulse
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── sandstone
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── simplex
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── sketchy
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── slate
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── solar
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── spacelab
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── superhero
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   ├── united
    │       │               │   │   │   │   └── bootstrap.min.css
    │       │               │   │   │   └── yeti
    │       │               │   │   │       └── bootstrap.min.css
    │       │               │   │   ├── web.css
    │       │               │   │   └── web.min.css
    │       │               │   ├── fonts
    │       │               │   │   ├── FontAwesome.otf
    │       │               │   │   ├── fontawesome-webfont.eot
    │       │               │   │   ├── fontawesome-webfont.svg
    │       │               │   │   ├── fontawesome-webfont.ttf
    │       │               │   │   ├── fontawesome-webfont.woff
    │       │               │   │   ├── fontawesome-webfont.woff2
    │       │               │   │   ├── open-iconic.eot
    │       │               │   │   ├── open-iconic.otf
    │       │               │   │   ├── open-iconic.svg
    │       │               │   │   ├── open-iconic.ttf
    │       │               │   │   └── open-iconic.woff
    │       │               │   └── js
    │       │               │       └── bundle.min.js
    │       │               ├── favicon.ico
    │       │               ├── images
    │       │               │   └── skoruba-icon.png
    │       │               └── js
    │       │                   ├── forgot-password.js
    │       │                   ├── qrcode.js
    │       │                   ├── qrcode.min.js
    │       │                   ├── signin-redirect.js
    │       │                   └── signout-redirect.js
    │       └── Skoruba.Duende.IdentityServer.Admin.Templates.nuspec
    └── tests
        ├── Skoruba.Duende.IdentityServer.Admin.Api.IntegrationTests
        │   ├── Common
        │   │   ├── AuthenticationConsts.cs
        │   │   ├── HttpClientExtensions.cs
        │   │   └── WebApplicationFactoryExtensions.cs
        │   ├── Skoruba.Duende.IdentityServer.Admin.Api.IntegrationTests.csproj
        │   └── Tests
        │       ├── ApiResourcesControllerTests.cs
        │       ├── Base
        │       │   ├── BaseClassFixture.cs
        │       │   └── TestFixture.cs
        │       ├── ClientsControllerTests.cs
        │       ├── IdentityResourcesControllerTests.cs
        │       ├── RolesControllerTests.cs
        │       └── UsersControllerTests.cs
        ├── Skoruba.Duende.IdentityServer.Admin.Api.UnitTests
        │   ├── Mappers
        │   │   ├── ApiResourceMappers.cs
        │   │   ├── ApiScopeMappers.cs
        │   │   ├── ClientMappers.cs
        │   │   ├── IdentityProviderMappers.cs
        │   │   ├── IdentityResourceMappers.cs
        │   │   ├── KeyMappers.cs
        │   │   └── PersistedGrantMappers.cs
        │   ├── Mocks
        │   │   ├── ApiResourceApiDtoMock.cs
        │   │   ├── ApiScopeApiDtoMock.cs
        │   │   ├── ClientDtoApiMock.cs
        │   │   ├── IdentityProviderApiDtoMock.cs
        │   │   ├── IdentityResourceApiDtoMock.cs
        │   │   ├── KeyApiDtoMock.cs
        │   │   └── PersistedGrantApiDtoMock.cs
        │   └── Skoruba.Duende.IdentityServer.Admin.Api.UnitTests.csproj
        ├── Skoruba.Duende.IdentityServer.Admin.IntegrationTests
        │   ├── Common
        │   │   ├── AntiforgeryHelper.cs
        │   │   ├── HttpClientExtensions.cs
        │   │   ├── RoutesConstants.cs
        │   │   └── WebApplicationFactoryExtensions.cs
        │   ├── Skoruba.Duende.IdentityServer.Admin.IntegrationTests.csproj
        │   └── Tests
        │       ├── Base
        │       │   ├── BaseClassFixture.cs
        │       │   └── TestFixture.cs
        │       ├── ConfigurationControllerTests.cs
        │       ├── GrantControllerTests.cs
        │       ├── HomeControllerTests.cs
        │       ├── IdentityControllerTests.cs
        │       └── LogControllerTests.cs
        ├── Skoruba.Duende.IdentityServer.Admin.UnitTests
        │   ├── Controllers
        │   │   ├── ConfigurationControllerTests.cs
        │   │   ├── HomeControllerTests.cs
        │   │   └── IdentityControllerTests.cs
        │   ├── Helpers
        │   │   ├── IdentityErrorDescriberFallbackTestData.cs
        │   │   ├── IdentityErrorDescriberTestData.cs
        │   │   └── IdentityErrorDescriberTests.cs
        │   ├── Mappers
        │   │   ├── ApiResourceMappers.cs
        │   │   ├── ClientMappers.cs
        │   │   ├── IdentityProviderMappers.cs
        │   │   ├── IdentityResourceMappers.cs
        │   │   ├── KeyMappers.cs
        │   │   ├── LogMappers.cs
        │   │   └── PersistedGrantMappers.cs
        │   ├── Mocks
        │   │   ├── ApiResourceDtoMock.cs
        │   │   ├── ApiResourceMock.cs
        │   │   ├── ApiScopeDtoMock.cs
        │   │   ├── ApiScopeMock.cs
        │   │   ├── ClientDtoMock.cs
        │   │   ├── ClientMock.cs
        │   │   ├── IdentityDtoMock.cs
        │   │   ├── IdentityMock.cs
        │   │   ├── IdentityProviderDtoMock.cs
        │   │   ├── IdentityProviderMock.cs
        │   │   ├── IdentityResourceDtoMock.cs
        │   │   ├── IdentityResourceMock.cs
        │   │   ├── KeyDtoMock.cs
        │   │   ├── KeyMock.cs
        │   │   ├── LogDtoMock.cs
        │   │   ├── LogMock.cs
        │   │   ├── PersistedGrantDtoMock.cs
        │   │   └── PersistedGrantMock.cs
        │   ├── Repositories
        │   │   ├── ApiResourceRepositoryTests.cs
        │   │   ├── ApiScopeRepositoryTests.cs
        │   │   ├── ClientRepositoryTests.cs
        │   │   ├── IdentityResourceRepositoryTests.cs
        │   │   └── PersistedGrantRepositoryTests.cs
        │   ├── Services
        │   │   ├── ApiResourceServiceTests.cs
        │   │   ├── ApiScopeServiceTests.cs
        │   │   ├── ClientServiceTests.cs
        │   │   ├── IdentityResourceServiceTests.cs
        │   │   ├── IdentityServiceTests.cs
        │   │   └── PersistedGrantServiceTests.cs
        │   └── Skoruba.Duende.IdentityServer.Admin.UnitTests.csproj
        └── Skoruba.Duende.IdentityServer.STS.Identity.IntegrationTests
            ├── Common
            │   ├── AntiForgeryHelper.cs
            │   ├── CookiesHelper.cs
            │   ├── RequestHelper.cs
            │   ├── RoutesConstants.cs
            │   └── WebApplicationFactoryExtensions.cs
            ├── Mocks
            │   └── UserMocks.cs
            ├── Skoruba.Duende.IdentityServer.STS.Identity.IntegrationTests.csproj
            └── Tests
                ├── AccountControllerTests.cs
                ├── Base
                │   ├── BaseClassFixture.cs
                │   └── TestFixture.cs
                ├── DiagnosticsControllerTests.cs
                ├── GrantsControllerTests.cs
                ├── HomeControllerTests.cs
                ├── IdentityServerTests.cs
                └── ManageControllerTests.cs

539 directories, 3879 files

标签:

实例下载地址

Skoruba Duende IdentityServer 管理界面与 Asp.Net Core Identity 源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警