Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into feature/auto-protec…
Browse files Browse the repository at this point in the history
…t-resource-middleware
  • Loading branch information
Friedemann Braune committed May 11, 2024
2 parents 1bdb892 + 2d6b09d commit 2ebf6d2
Show file tree
Hide file tree
Showing 742 changed files with 87,689 additions and 2,081 deletions.
21 changes: 19 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

##########################################
# Common Settings
##########################################
Expand Down Expand Up @@ -75,7 +76,7 @@ dotnet_analyzer_diagnostic.severity = warning
# Motivation https://github.com/dotnet/roslyn/blob/9f87b444da9c48a4d492b19f8337339056bf2b95/src/Analyzers/Core/Analyzers/EnforceOnBuildValues.cs
##########################################
# IDE0055 Fix formatting
dotnet_diagnostic.IDE0055.severity = error
dotnet_diagnostic.IDE0055.severity = suggestion
# IDE005_gen: Remove unnecessary usings in generated code
dotnet_diagnostic.IDE0005.severity = error
# IDE0065: Using directives must be placed outside of a namespace declaration
Expand All @@ -98,6 +99,21 @@ dotnet_diagnostic.IDE0036.severity = error
dotnet_diagnostic.IDE0059.severity = error
# IDE0016 Use throw expression
dotnet_diagnostic.IDE0016.severity = suggestion
# CA1056: URI properties should not be strings
dotnet_diagnostic.CA1056.severity = suggestion

dotnet_diagnostic.CA1812.severity = none
dotnet_diagnostic.CA2007.severity = none
dotnet_diagnostic.CA1307.severity = none
dotnet_diagnostic.CA2234.severity = none
dotnet_diagnostic.CA1054.severity = none
dotnet_diagnostic.CA1032.severity = none
dotnet_diagnostic.CA1724.severity = none
dotnet_diagnostic.CA1055.severity = none
dotnet_diagnostic.CA1510.severity = suggestion
dotnet_diagnostic.CA2227.severity = suggestion
dotnet_diagnostic.CA1819.severity = suggestion
dotnet_diagnostic.CA1019.severity = none

##########################################
# File Header (Uncomment to support file headers)
Expand Down Expand Up @@ -160,6 +176,8 @@ dotnet_diagnostic.IDE0045.severity = suggestion
dotnet_style_prefer_conditional_expression_over_return = false:suggestion
dotnet_diagnostic.IDE0046.severity = suggestion
dotnet_style_prefer_compound_assignment = true:warning

dotnet_diagnostic.CA1848.severity = suggestion
# Null-checking preferences
# https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#null-checking-preferences
dotnet_style_coalesce_expression = true:warning
Expand Down Expand Up @@ -226,7 +244,6 @@ csharp_using_directive_placement = inside_namespace:warning
csharp_prefer_static_local_function = true:warning
csharp_prefer_simple_using_statement = true:suggestion
dotnet_diagnostic.IDE0063.severity = suggestion

##########################################
# .NET Formatting Conventions
# https://docs.microsoft.com/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
os: [ubuntu-latest, windows-latest]
steps:
- name: "Checkout"
uses: actions/[email protected]
Expand All @@ -36,7 +36,7 @@ jobs:
- name: "Install .NET SDK"
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100
dotnet-version: 8.0.204
- name: "Dotnet Tool Restore"
run: dotnet tool restore
shell: pwsh
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ jobs:
strategy:
fail-fast: false
matrix:
language: ["csharp"]
language: ['csharp']

# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
Expand All @@ -38,7 +39,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -49,7 +50,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -63,4 +64,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3
58 changes: 58 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Workflow for building and deploying a VitePress site to GitHub Pages
name: Deploy VitePress site to Pages

on:
push:
branches: [main]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # Not needed if lastUpdated is not enabled
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Install dependencies
run: npm ci
- name: Build with VitePress
run: npm run docs:build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -236,3 +236,7 @@ _Pvt_Extensions

artifacts
Artefacts


docs/.vitepress/dist
docs/.vitepress/cache
39 changes: 39 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "shell",
"args": [
"build",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
},
{
"label": "test",
"command": "dotnet",
"type": "shell",
"args": [
"test",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile",
"group": {
"kind": "test",
"isDefault": true
}
}
]
}
91 changes: 70 additions & 21 deletions KeycloakAuthorizationServicesDotNet.sln
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{048F1701-D
README.md = README.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MinimalApiDependsOnNuGetSource", "samples\MinimalApiDependsOnNuGetSource\MinimalApiDependsOnNuGetSource.csproj", "{3D55B10E-18AA-4A57-B421-EF514BFAD00A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{A04EE911-0BE4-49FB-A92C-6CBD4CDF8005}"
ProjectSection(SolutionItems) = preProject
build.cake = build.cake
Expand All @@ -49,8 +47,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blazor.Client", "samples\Bl
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blazor.Shared", "samples\Blazor\Shared\Blazor.Shared.csproj", "{FA611377-9C42-461F-8767-911CA6C6DC83}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AuthZGettingStarted", "samples\AuthZGettingStarted\AuthZGettingStarted.csproj", "{A7C96E1A-8CD6-4BFA-8128-9875B607BEF5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoAuthorization", "samples\AutoAuthorization\AutoAuthorization.csproj", "{5BA4F4CA-9C35-4D9F-A3AC-1E4273DA0807}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{96857509-627A-4FD2-AC82-34387619A7B1}"
Expand All @@ -62,7 +58,25 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Keycloak.AuthServices.Sdk.T
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.Authentication.Tests", "tests\Keycloak.AuthServices.Authentication.Tests\Keycloak.AuthServices.Authentication.Tests.csproj", "{FE34728A-25AA-44E1-A3A6-AB500307C406}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.Authorization.Tests", "tests\Keycloak.AuthServices.Authorization.Tests\Keycloak.AuthServices.Authorization.Tests.csproj", "{DCFB0819-72C9-42DF-8AC6-3FE1E25C4103}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.Common.Tests", "tests\Keycloak.AuthServices.Common.Tests\Keycloak.AuthServices.Common.Tests.csproj", "{8F9E1322-568B-4F02-A1DD-4222C8457A42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuthorizationGettingStarted", "samples\AuthorizationGettingStarted\AuthorizationGettingStarted.csproj", "{D64B4098-165B-48AA-BE07-B9E9963E0CB5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GettingStarted", "samples\GettingStarted\GettingStarted.csproj", "{671BA3B1-DBF2-4161-97B5-433B91A3730E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.IntegrationTests", "tests\Keycloak.AuthServices.IntegrationTests\Keycloak.AuthServices.IntegrationTests.csproj", "{7499F9F0-1132-46B4-AAA2-D60D9F113293}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestWebApi", "tests\TestWebApi\TestWebApi.csproj", "{0F40EFE2-8D17-46B2-A91B-EC4BCB93E77C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.Authorization.Tests", "tests\Keycloak.AuthServices.Authorization.Tests\Keycloak.AuthServices.Authorization.Tests.csproj", "{331F4EF5-9CFE-4060-B903-69CCE9062BFD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.Sdk.Kiota", "src\Keycloak.AuthServices.Sdk.Kiota\Keycloak.AuthServices.Sdk.Kiota.csproj", "{8C43A1C1-0069-4B21-ADDE-5268EB214820}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestWebApiWithControllers", "tests\TestWebApiWithControllers\TestWebApiWithControllers.csproj", "{BF2DCACD-E7C4-4B92-909F-CC535B70F94D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceAuthorization", "samples\ResourceAuthorization\ResourceAuthorization.csproj", "{B060EE8C-C76D-48A4-B209-4646070A7E0D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keycloak.AuthServices.OpenTelemetry", "src\Keycloak.AuthServices.OpenTelemetry\Keycloak.AuthServices.OpenTelemetry.csproj", "{3FE98A91-BA4E-4D4F-A6A5-A43123644ACD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -90,10 +104,6 @@ Global
{C388D1B4-E37B-49B6-9EE0-7B2E32EE3B60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C388D1B4-E37B-49B6-9EE0-7B2E32EE3B60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C388D1B4-E37B-49B6-9EE0-7B2E32EE3B60}.Release|Any CPU.Build.0 = Release|Any CPU
{3D55B10E-18AA-4A57-B421-EF514BFAD00A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D55B10E-18AA-4A57-B421-EF514BFAD00A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D55B10E-18AA-4A57-B421-EF514BFAD00A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D55B10E-18AA-4A57-B421-EF514BFAD00A}.Release|Any CPU.Build.0 = Release|Any CPU
{A1BA9E54-A596-4A89-A686-325A719C6827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1BA9E54-A596-4A89-A686-325A719C6827}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1BA9E54-A596-4A89-A686-325A719C6827}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -110,10 +120,6 @@ Global
{FA611377-9C42-461F-8767-911CA6C6DC83}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA611377-9C42-461F-8767-911CA6C6DC83}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA611377-9C42-461F-8767-911CA6C6DC83}.Release|Any CPU.Build.0 = Release|Any CPU
{A7C96E1A-8CD6-4BFA-8128-9875B607BEF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A7C96E1A-8CD6-4BFA-8128-9875B607BEF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7C96E1A-8CD6-4BFA-8128-9875B607BEF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7C96E1A-8CD6-4BFA-8128-9875B607BEF5}.Release|Any CPU.Build.0 = Release|Any CPU
{5BA4F4CA-9C35-4D9F-A3AC-1E4273DA0807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5BA4F4CA-9C35-4D9F-A3AC-1E4273DA0807}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5BA4F4CA-9C35-4D9F-A3AC-1E4273DA0807}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -126,10 +132,46 @@ Global
{FE34728A-25AA-44E1-A3A6-AB500307C406}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FE34728A-25AA-44E1-A3A6-AB500307C406}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FE34728A-25AA-44E1-A3A6-AB500307C406}.Release|Any CPU.Build.0 = Release|Any CPU
{DCFB0819-72C9-42DF-8AC6-3FE1E25C4103}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DCFB0819-72C9-42DF-8AC6-3FE1E25C4103}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DCFB0819-72C9-42DF-8AC6-3FE1E25C4103}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DCFB0819-72C9-42DF-8AC6-3FE1E25C4103}.Release|Any CPU.Build.0 = Release|Any CPU
{8F9E1322-568B-4F02-A1DD-4222C8457A42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8F9E1322-568B-4F02-A1DD-4222C8457A42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8F9E1322-568B-4F02-A1DD-4222C8457A42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F9E1322-568B-4F02-A1DD-4222C8457A42}.Release|Any CPU.Build.0 = Release|Any CPU
{D64B4098-165B-48AA-BE07-B9E9963E0CB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D64B4098-165B-48AA-BE07-B9E9963E0CB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D64B4098-165B-48AA-BE07-B9E9963E0CB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D64B4098-165B-48AA-BE07-B9E9963E0CB5}.Release|Any CPU.Build.0 = Release|Any CPU
{671BA3B1-DBF2-4161-97B5-433B91A3730E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{671BA3B1-DBF2-4161-97B5-433B91A3730E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{671BA3B1-DBF2-4161-97B5-433B91A3730E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{671BA3B1-DBF2-4161-97B5-433B91A3730E}.Release|Any CPU.Build.0 = Release|Any CPU
{7499F9F0-1132-46B4-AAA2-D60D9F113293}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7499F9F0-1132-46B4-AAA2-D60D9F113293}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7499F9F0-1132-46B4-AAA2-D60D9F113293}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7499F9F0-1132-46B4-AAA2-D60D9F113293}.Release|Any CPU.Build.0 = Release|Any CPU
{0F40EFE2-8D17-46B2-A91B-EC4BCB93E77C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F40EFE2-8D17-46B2-A91B-EC4BCB93E77C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F40EFE2-8D17-46B2-A91B-EC4BCB93E77C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F40EFE2-8D17-46B2-A91B-EC4BCB93E77C}.Release|Any CPU.Build.0 = Release|Any CPU
{331F4EF5-9CFE-4060-B903-69CCE9062BFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{331F4EF5-9CFE-4060-B903-69CCE9062BFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{331F4EF5-9CFE-4060-B903-69CCE9062BFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{331F4EF5-9CFE-4060-B903-69CCE9062BFD}.Release|Any CPU.Build.0 = Release|Any CPU
{8C43A1C1-0069-4B21-ADDE-5268EB214820}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C43A1C1-0069-4B21-ADDE-5268EB214820}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C43A1C1-0069-4B21-ADDE-5268EB214820}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C43A1C1-0069-4B21-ADDE-5268EB214820}.Release|Any CPU.Build.0 = Release|Any CPU
{BF2DCACD-E7C4-4B92-909F-CC535B70F94D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BF2DCACD-E7C4-4B92-909F-CC535B70F94D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BF2DCACD-E7C4-4B92-909F-CC535B70F94D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BF2DCACD-E7C4-4B92-909F-CC535B70F94D}.Release|Any CPU.Build.0 = Release|Any CPU
{B060EE8C-C76D-48A4-B209-4646070A7E0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B060EE8C-C76D-48A4-B209-4646070A7E0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B060EE8C-C76D-48A4-B209-4646070A7E0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B060EE8C-C76D-48A4-B209-4646070A7E0D}.Release|Any CPU.Build.0 = Release|Any CPU
{3FE98A91-BA4E-4D4F-A6A5-A43123644ACD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FE98A91-BA4E-4D4F-A6A5-A43123644ACD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FE98A91-BA4E-4D4F-A6A5-A43123644ACD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FE98A91-BA4E-4D4F-A6A5-A43123644ACD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -140,17 +182,24 @@ Global
{D2FFBD58-E77B-4B27-A1E3-2294BCAEC04A} = {F9D5C5B8-9933-4AE0-ADAC-6B8C15F7552A}
{41E4ECE0-479A-4B33-8E72-30C2B7572B74} = {F9D5C5B8-9933-4AE0-ADAC-6B8C15F7552A}
{C388D1B4-E37B-49B6-9EE0-7B2E32EE3B60} = {F9D5C5B8-9933-4AE0-ADAC-6B8C15F7552A}
{3D55B10E-18AA-4A57-B421-EF514BFAD00A} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{A1BA9E54-A596-4A89-A686-325A719C6827} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{C0EADAAF-E21C-4C90-9E78-45545006AADB} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{E64494A4-EE3E-47C8-BC12-795B6CD846AB} = {C0EADAAF-E21C-4C90-9E78-45545006AADB}
{0BBF12D1-6ABA-48EE-848D-AB70A089ABEB} = {C0EADAAF-E21C-4C90-9E78-45545006AADB}
{FA611377-9C42-461F-8767-911CA6C6DC83} = {C0EADAAF-E21C-4C90-9E78-45545006AADB}
{A7C96E1A-8CD6-4BFA-8128-9875B607BEF5} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{5BA4F4CA-9C35-4D9F-A3AC-1E4273DA0807} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{A85B6B1E-2030-47BE-9B9F-F645B08E501D} = {96857509-627A-4FD2-AC82-34387619A7B1}
{5BA4F4CA-9C35-4D9F-A3AC-1E4273DA0807} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{FE34728A-25AA-44E1-A3A6-AB500307C406} = {96857509-627A-4FD2-AC82-34387619A7B1}
{DCFB0819-72C9-42DF-8AC6-3FE1E25C4103} = {96857509-627A-4FD2-AC82-34387619A7B1}
{8F9E1322-568B-4F02-A1DD-4222C8457A42} = {96857509-627A-4FD2-AC82-34387619A7B1}
{D64B4098-165B-48AA-BE07-B9E9963E0CB5} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{671BA3B1-DBF2-4161-97B5-433B91A3730E} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{7499F9F0-1132-46B4-AAA2-D60D9F113293} = {96857509-627A-4FD2-AC82-34387619A7B1}
{0F40EFE2-8D17-46B2-A91B-EC4BCB93E77C} = {96857509-627A-4FD2-AC82-34387619A7B1}
{331F4EF5-9CFE-4060-B903-69CCE9062BFD} = {96857509-627A-4FD2-AC82-34387619A7B1}
{8C43A1C1-0069-4B21-ADDE-5268EB214820} = {F9D5C5B8-9933-4AE0-ADAC-6B8C15F7552A}
{BF2DCACD-E7C4-4B92-909F-CC535B70F94D} = {96857509-627A-4FD2-AC82-34387619A7B1}
{B060EE8C-C76D-48A4-B209-4646070A7E0D} = {AEBE10B1-96B1-4060-B8C1-1F9BFA7A586C}
{3FE98A91-BA4E-4D4F-A6A5-A43123644ACD} = {F9D5C5B8-9933-4AE0-ADAC-6B8C15F7552A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E1907BFD-C144-4B48-AA40-972F499D4E08}
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 Oleksii Nikiforov
Copyright (c) 2024 Oleksii Nikiforov

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading

0 comments on commit 2ebf6d2

Please sign in to comment.